2011-01-27 26 views
2

WIXを使用して作成したMSIをダブルクリックしてアプリケーションをアンインストールすると、設計したとおりに「変更、修復、削除」ダイアログが表示されます。しかし、プログラムの追加と削除を介してアンインストールする場合、またはコマンドラインからmsiexec /xを経由してアンインストールする場合、私はしません。私が得るのは、「このプログラムをアンインストールしてもよろしいですか?」ということだけです。MSI Unistall:強制的にUIシーケンスをアンインストールする方法

アンインストール時に、常に「変更、修復、削除」ダイアログが表示されるようにする必要があります。理由は、削除時にカスタムUIが呼び出されるためです。もう1つの選択肢は、私が設計した削除UIシーケンスでユーザーを強制的に強制することです。

どのようにWiXでこれを行うためのヒント?

答えて

1

最も簡単な方法は、ARPNOREMOVE propertyをに設定することです。

この方法では、変更または変更のみを選択でき、フルUIは です。インストールボタンをオーバーライドするのはやや複雑で、通常はそれだけの価値はありません。

+0

このプロパティを設定した後、アプリケーションの追加と削除をダブルクリックすると、UIなしの修復モードに移行します。 UIを起動するには何が必要ですか?次の質問は、UIが起動すると、削除オプションを作成するために何をする必要がありますか? –

+0

UIが表示されたら、Remove = "All"プロパティを設定して製品をアンインストールできます。 –

+0

この質問を見ることもできます:http://stackoverflow.com/questions/1269289/wix-msi-package-uninstallation –

1

MSIを使用している場合、残念ながらこれを制御することはできません。一般にアンインストールUIシーケンスを強制するには、ブートストラップを実装して、MSIを直接呼び出すのではなく、MSIを目的のUILevelで呼び出す必要があります。
STEP 1:アンインストールは、それをしようとするとInstallUISequenceテーブルにダイアログを表示したい場合は

+0

これは頭を向ける方向だと思う。あなたはこれを行う方法を記述する良いリンクを知っていますか? –

+0

btw、他のインストーラ(SQL Express、.NETなど)をブートストラップする方法を知っています。ちょうど私のmsiをブートストラップする方法を知りたい。 –

+0

Burnを使用して、WiXチームがWiX 3.6用に準備した大まかな実装を見てみることができます。また、私の答えを見てくださいhttp://stackoverflow.com/questions/3233642/how-do-you-make-a-really-nice-installer-like-visual-studios – saschabeaumont

1

「のmsiexec:条件をUISequenceテーブルにダイアログを表示するためには、= "ALL"
STEP 2を削除しています。 exe/x {ProductCode}/qf "
qf:フルUI
Good Luck!

関連する問題