0

WIXスクリプトから生成されているMSIがあります。

私の質問はこの質問に似ています。

デフォルトのMSIアンインストーラーを使用する代わりに、カスタムアンインストーラーを作成したいと思います。

PublishProductの後、またはInstallFinalizeの前に実行されるカスタムアクションを追加することを考えています。このアクションは、使用するアンインストール文字列を指定するレジストリエントリを変更します。

SMSなどとの互換性は気になりません。

この方法についてどう思いますか?

4

1 に答える 1

4

それほど単純ではありません。何らかの理由で、ARPはMSIパッケージのUninstallStringを尊重しません。したがって、これを変更するには、ARPSYSTEMCOMPONENTを設定し、サポートしたいさまざまなアップグレードおよび削除パスをすべて検証する必要があります。Heath Stewartには、これに関連する一連のブログ投稿があり、考えられるシナリオとそれらに共通する問題を列挙するのに役立ちます。

このシリーズはMSI3.xの時代に書かれたものだと思います。そのため、Windows Vista以降の新しい懸念に対処できず、MSI4.5のパッチアンインストールカスタムアクションフラグを利用できなかった可能性があります。

于 2009-12-01T15:19:02.370 に答える