カスタム マネージド ブートストラップ アプリケーションの開始点として WiX Source\Setup\WixBA を使用しています。
私はどのように機能するかについて頭を悩ませようとしていますが、メソッドが起動UpdateCommand
されることさえありません。DetectUpdateBegin
DetectComplete
メソッドが起動されるのがわかりますがthis.State = UpdateState.Current
、更新を確認せずにそのまま設定に進みます。
私は何が欠けていますか?
最終的に、更新されたbootstrapper.exeをクライアントに再度配布する代わりに、Bootstrapperにリモートサーバーを照会させ、更新されたバージョンをダウンロードさせようとしています。
=====UpdateViewModel=====
public UpdateViewModel(RootViewModel root)
{
this.root = root;
CustomBA.Model.Bootstrapper.DetectUpdateBegin += DetectUpdateBegin;
CustomBA.Model.Bootstrapper.DetectComplete += DetectComplete;
this.State = UpdateState.Initializing;
this.worker = new BackgroundWorker();
this.worker.DoWork += new DoWorkEventHandler(worker_DoWork);
}
private void DetectUpdateBegin(object sender, Microsoft.Tools.WindowsInstallerXml.Bootstrapper.DetectUpdateBeginEventArgs e)
{
CustomBA.Model.LogMessage("[DEBUG-Update] DetectUpdateBegin: " + e.UpdateLocation);
this.State = UpdateState.Checking;
this.worker.RunWorkerAsync(e.UpdateLocation);
}
private void DetectComplete(object sender, Microsoft.Tools.WindowsInstallerXml.Bootstrapper.DetectCompleteEventArgs e)
{
CustomBA.Model.LogMessage("[DEBUG-Update] DetectComplete: ");
// If we never started checking, assume we're up to date.
if (UpdateState.Initializing == this.State)
{
this.State = UpdateState.Current;
}
}
=========================