WiX / MSI - 自定义操作 - 升级逻辑

时间:2011-09-21 13:25:24

标签: c++ wix windows-installer custom-action major-upgrade

我有一些要求说明我们必须在安装阶段设置调度程序任务,然后在卸载阶段自然删除它们。

然而,当我们引入升级机制(我们只进行重大升级)时,这种情况会变得复杂,我们必须保留这些调度程序任务。

由于我们决定使用升级逻辑的方式:

<RemoveExistingProducts After='InstallFinalize'/>

我们的新版本首先安装,然后以前的版本获得卸载,因此执行取消计划操作并删除调度程序任务:

<Custom Action='CA_unscheduleUpdates' Before="InstallFinalize">
    <![CDATA[Installed]]>
</Custom>

有没有办法控制这种情况,以防我们升级并且不启动非计划自定义操作?也许我可以在自定义操作C ++代码中控制一些东西?

非常感谢你们!

1 个答案:

答案 0 :(得分:2)

您可以使用“Not UPGRADINGPRODUCTCODE”调整自定义操作执行。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa372380(v=vs.85).aspx