インストーラー設計時の備忘録
アンインストール時に、常駐タスクを落とす
生成されたwxsファイル内で、
Productの子に以下のシーケンスを追加する
installer.wxs
<CustomAction Id="TaskKillBat" Impersonate="no" Execute="deferred" Return="ignore" HideTarget="no" ExeCommand="cmd /C " taskkill /im OPPyTask.exe /f "" Property="UninstallProduct" />
<InstallExecuteSequence>
<Custom Action="TaskKillBat" After="InstallInitialize">
REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE
</Custom>
</InstallExecuteSequence>
意味合い
- REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODEを指定することで、メジャーアップグレード以外のときのアンインストールのときに実行するように設定できる
- InstallInitializeは、インストーラに何かの変更を及ぼすときの初期化の段階で実行される処理を表す
- CustomActionの中にtaskkillを入れることで常駐タスクを落とす(※ここの内容を変えると、バッチファイルなども実行できると思います)
参考サイト