2

.msiがファイルを展開した後に UI を実行するカスタム アクションがあります。この UI は構成を設定し、さまざまなものをさまざまな場所 (SQL サーバーなど) に展開します。UI 自体はC# ( .NET 2.0) で実行されています。インストーラーの状態 (つまり、アップグレード/インストール/修復およびサイレント/最小 UI/フル UI など) を取得するにはどうすればよいでしょうか?

基本的に、C#/.NET 2 ベースのカスタム UI からインストーラーのモードにアクセスして、コードでそれらの状態を処理するにはどうすればよいですか?

(これは Stack Overflow の質問How to add a WiX custom action that occur only on uninstall (via MSI)?に似ていますが、完全ではありません。)

4

1 に答える 1

1

この情報を提供するカスタム アクションに、プロパティの値をパラメータとして渡すことができます。「Installed」プロパティーは、パッケージが保守 (変更または削除) で実行されている場合にのみ設定されます。これらの変更と削除を区別するには、「REMOVE」プロパティをチェックします。カスタム アクション内に構築する必要がある条件のリストを次に示します。

  1. インストールの条件:インストールされていません
  2. アンインストール条件:REMOVE="ALL"
  3. メンテナンスの条件: インストールおよび削除<>"ALL"

アップグレードの場合、古いバージョンが定義されている場合に設定するように定義したプロパティを使用する必要があります。Stack Oveflow の質問からこの方法を使用したと仮定すると、WiX インストーラーのアップグレードを実装するにはどうすればよいですか? .

パッケージの UI レベルについては、プロパティUILevelを確認できます。

于 2013-03-05T10:55:56.313 に答える