ここにあるチュートリアルに基づいて、Windows インストーラーのカスタム アクションを作成しました: http://www.codeproject.com/kb/install/msicustomaction.aspx
私のカスタムアクションは、ユーザーがまだ開くことができる特定の名前のバックグラウンドプロセスを強制終了しています。その理由は、特定の EXE が実行中であり、セットアップを続行するには閉じる必要があるという警告をユーザーに表示したくないからです。これは、チュートリアルのように「InstallUISequence」テーブルでアクションが作成されるため、MSI が UI シーケンスを通過するときに正常に機能します。
ただし、MSI がサイレント モードで使用されている場合 (右クリックして [修復] または [アンインストール] を選択)、カスタム アクションはもちろん実行されません。
カスタム アクションをサイレント モードで実行した場合でもすぐに実行されるようにするには、どこにカスタム アクションを配置する必要がありますか?
「InstallExecuteSequence」に追加してみましたが、「アプリ実行中」の警告がまだ表示されます。次に、カスタム アクションのシーケンス番号を 5 に下げてみましたが、これも役に立ちませんでした。
注:
Orca を使用して、Visual Studio セットアップ プロジェクトから生成された MSI を変更しています。次に、変換ファイルを使用して適用します。