如何在仅在安装或卸载时执行的WiX中执行自定义操作?

Ala*_*ark 14 windows-installer custom-action wix uninstall merge-module

我有两个自定义操作,其中一个我想在安装我的产品时执行,另一个在卸载时执行.

我的自定义操作当前在"InstallFinalize"之后从合并模块调用,但安装和卸载都会发生这种情况.我已经尝试添加"NOT INSTALLED AND NOT UPGRADINGPRODUCTCODE"条件,但这给了我一个错误:

错误2762.无法编写脚本记录.交易未开始.

我也尝试附加到其他操作(例如,UnpublishComponents),但我找不到任何安装或卸载独有的操作.

我该如何解决这个问题?

小智 15

尝试下一步
1.仅用于安装:

<InstallExecuteSequence>
<Custom Action="SomeAction" After="InstallFinalize">NOT Installed AND NOT REMOVE</Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

2.对于卸载尝试使用:Rob的答案

UPGRADINGPRODUCTCODE属性仅在RemoveExistingProductsCA 期间设置.