MSIパッケージをBurnの.NET 4.0フレームワークインストーラにバンドルします。私はユーザーインターフェースのBurnが好きではないので、自分のカスタムBootstrapperアプリケーションを作成しました。 .NETフレームワークがまだインストールされていない場合は、正しくインストールされます。しかし、私はMSIパッケージをインストールする方法を見つけることができません。これは私のカスタムBAのためのコードです、私はそれが実行されることを確認しました。カスタムBurn BootstrapperアプリケーションでMSIパッケージを実行するアプリケーション
public class ShopProtectBA : BootstrapperApplication
{
protected override void Run()
{
//Here i would like to run the bundled MSI package.
Engine.Quit(0);
}
}
これに関するドキュメントはまばらです。 Run()でパッケージをインストールしないといいですか?このティンはどのように機能するのですか?
編集:私はそれがカスタムマネージドブートストラップアプリケーションであることを忘れていました。何か違いがあれば。
var pl = new PlanMsiFeatureEventArgs("MyMsiPackage", "Complete", FeatureState.Local);
Engine.Detect();
OnPlanMsiFeature(pl);
Engine.Plan(LaunchAction.Install);
Engine.Elevate(FindWindow(null, "Setup"));
Engine.Apply(FindWindow(null, "Setup"));
しかし、それだけでインストールが準備されていることを私に言ってウィンドウに結果:
私が思い付くことができる最高のはこれです。それから私は閉じて、もう何も起こらない。
src \ Setup \ WixBAはありませんが、src \ Setup \ UX \ WixUXがあります。 Run()メソッドには以下が含まれています。 'WixUX.Model = new Model(this); RootViewModel viewModel = new RootViewModel(); WixUX.View =新しいルートビュー(viewModel); //ビューモデルにデータを取り込み、ビューを実行します。 viewModel.Refresh(); WixUX.View.Run(); this.Engine.Quit(0); ' これがどのようにマシンの状態を検出し、アクションを計画し、適用するかはわかりません。私は少し遅いかもしれません。あなたは少し精緻化できますか?または、少なくとも正しい方向を指します。 – Andreas
WixBAは最新の週刊リリースの名前です。最新の情報源を入手するためにダウンロードすることをお勧めします。ビューモデル(主にInstallationViewModel)への流れに従わなければなりません。カスタムBAsは難しいものではありませんが、それほど簡単なものではありません。 –
私はほとんどそこに近い、しかし葉巻のように感じる。私は持っているコードで私の質問を更新しました。インテリセンスよりも何も説明がありませんか? – Andreas