1

ユーザーが ARP で [削除] をクリックしたときに、インストーラーの [キャンセル] ボタンを非表示または無効にできるようにする必要があります。それを行う方法はありますか?( /qb! コマンド ライン オプションを UninstallString レジストリ値に追加しても機能しません。試してみました。Wise Windows Installer Editor に関係しない限り、IDE 固有の回答はありません。)

編集: Christopher Painter の答えはそのトリックに対応していますが、100% の解決策ではありません。残念ながら、InstallFinalize アクションは再び [キャンセル] ボタンを表示し、その直後に別のカスタム アクションを呼び出しても、ボタンはユーザーがクリックできるほど長い間表示されたままです。(カスタム アクション中にメッセージ ボックスを表示して、それがいつ呼び出されたかを確認することでこれを確認しました。) [キャンセル] ボタンを非表示にした後は、非表示のままにしておきます。限目。それを達成する方法はありますか?

4

1 に答える 1

1

製品がMSIの場合、UninstallStringレジストリ値はARPによって無視されます。私はあなたがそれをすることができる唯一の方法はカスタムアクションを経由することだと信じています。

余談ですが、なぜこれを行う必要があるのか​​疑問に思います。ロールバックをサポートしていないカスタムアクションがあると思いますか?私はむしろその問題を修正し、ユーザーに考えを変える能力を与え続けたいと思います。

インストール中にキャンセルボタンを非表示にする

インストールでは、DLLカスタムアクションまたはスクリプトを使用してINSTALLMESSAGE_COMMONDATAメッセージを送信することにより、インストールの一部で[キャンセル]ボタンを非表示または再表示できます。詳細については、「ダイナミックリンクライブラリ、スクリプト、カスタムアクション、およびMsiProcessMessageを使用したWindowsインストーラへのメッセージの送信」を参照してください。

于 2010-09-14T14:39:06.880 に答える