1

インストーラーにすべての IExplorer インスタンスを閉じてからインストールを実行してもらいたいです。IE を閉じるには、レジストリ キーを追加して、ダイアログなしですべてのタブを閉じ <util:CloseApplication... />てから、IE インスタンスを閉じる必要があります。

CloseApplicationキーを登録すると の両方Componentがうまく機能します。私の問題はCloseApplication、レジストリキーが追加された後にのみ実行されるようにスケジュールする方法です。

<util:CloseApplication... />エラーなしでを配置できる唯一の場所は の下<Product...>でした。コンポーネントの実行順序は、次によって決定されます。

<Feature..><ComponentRef../></Feature..>

<util:CloseApplication... />要素の実行順序を制御し、レジストリ キーが設定されるまで遅延させる方法がわかりません。

4

1 に答える 1

1

要素は、<util:CloseApplication>いくつかのカスタム アクションに変換されます。そのうちの 1 つはWixCloseApplications、延期された CA がジョブを実行するように実際にスケジュールするものです。デフォルトでは の前InstallFilesにスケジュールされていますが、 の後に再スケジュールを試みることができますWriteRegistryValues:

<InstallExecuteSequence>
  ...
  <Custom Action="WixCloseApplications" After="WriteRegistryValues" />
  ...
</InstallExecuteSequence>

実際のインストールではこれを行っていないので、再スケジュール後にアプリケーションが期待どおりに終了することを確認するために、それを試して徹底的にテストすることをお勧めします。

更新:それは質問の技術的な側面でした。倫理的なものもあります:)

AFAIU、あなたがしようとしているのは、インストールでIE設定を変更することです。私はそれが良いユーザーエクスペリエンスだとは思わない。ブラウザを好きなように設定したところ、突然、それらの設定の 1 つが変更されたと想像してください。無関係なインストールがそれを行ったことを知ることはできず、この罪で Microsoft を非難することになります。:)

したがって、インストール アーキテクチャのこの部分を再考してみてください。おそらく、その IE 設定を確認してユーザーに通知するための起動条件を追加することをお勧めします。

于 2012-07-19T09:30:16.027 に答える