WIX を使用してスタンドアロンのサイレント アンインストーラーを作成し、アンインストーラーがマシン上で適切に動作せず、存在しなくなった場合に、ダブルクリックして製品のアンインストールを実行できるサポート目的で特定の人に送信できるようにしたいと考えています (一部のユーザーは、他のツールを使用して手動で削除します)。以前にインストールしたプログラムと同じ製品 ID とパッケージ ID を使用する .wxs ファイルがあり、msiexec /x から実行すると、以前にインストールした製品が完全にアンインストールされます。ただし、それをダブルクリックすると (これらのユーザーが行うことが期待できるのはこれだけです)、アンインストールではなく、インストールが実行されます。追加してみました
<Property Id="REMOVE" Value="ALL"/>
<Property Id="ACTION" Value="UNINSTALL"/>
すべての InstallExecuteSequence アクションが「インストール済み」チェックを使用していないことを確認しますが、正常に実行された後も製品がインストールされていることを確認すると、ログ ファイルはまだ ACTION INSTALL を実行していることを示しています。
MSI (c) (A8:F8) [15:42:08:324]: プロパティの変更: ACTION プロパティを追加します。その値は「INSTALL」です。MSI (c) (A8:F8) [15:42:08:324]: アクションの実行: MSI のインストール (c) (A8:F8) [15:42:08:324]: 注: 1: 2205 2: 3 : ActionText アクション 15:42:08: インストール。アクション開始 15:42:08: インストール。
コマンド ラインを使用したり、プログラム エントリを追加/削除したりせずに、.msi ファイルを強制的にアンインストールする方法はありますか? ARPSYSTEMCOMPONENT の使用に関するエントリを見たことがありますが、十分な情報がありません。