0

カスタム マネージド ブートストラップ アプリケーションの開始点として 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;
    }
}

=========================
4

1 に答える 1

0

でタグが定義されていない限り、DetectUpdateBeginメソッドは起動されません。UpdateBundle.wxs

以下を追加すると、問題が解決しました。

<Update Location="http://myserver/MyApp/updatefeed.xml"/>

于 2013-10-14T12:19:09.497 に答える