17

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

我的自定义操作当前是在“InstallFinalize”之后从合并模块调用的,但是安装和卸载都会发生这种情况。我尝试添加“未安装且未升级产品代码”条件,但这给了我一个错误:

错误 2762。无法写入脚本记录。交易未开始。

我也尝试过附加到其他操作(例如,UnpublishComponents),但我找不到任何唯一可以安装或卸载的操作。

我该如何解决这个问题?

4

2 回答 2

20

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

<InstallExecuteSequence>
<Custom Action="SomeAction" After="InstallFinalize">NOT Installed AND NOT REMOVE</Custom>
</InstallExecuteSequence>

2.对于卸载尝试使用:Rob's answer

UPGRADINGPRODUCTCODE属性仅在RemoveExistingProductsCA期间设置。

于 2013-07-02T12:02:24.820 回答
2

应该使用的变量“<code>INSTALLED”是“<code>Installed”。在 Stack Overflow 答案中查找有关安装和卸载条件的更多信息如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?.

于 2013-07-02T05:42:33.200 回答