2011-09-21 123 views
1

我有一些要求,指出我们必须在安装阶段设置调度程序任务,然后自然地在卸载阶段删除它们。WiX/MSI - 自定义操作 - 升级逻辑

但是,当我们介绍我们的升级机制(我们只是进行重大升级)时,我们必须保留这些调度程序任务,这种情况会变得很复杂。

因为在路上,我们决定使用升级的逻辑:

<RemoveExistingProducts After='InstallFinalize'/> 

我们的新版本被首先安装,然后以前的版本得到卸载,因此取消调度动作被执行和删除调度任务,这一点:

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

有没有什么办法可以控制这种情况,以防我们升级并且不会触发非预定的自定义操作?也许我可以在自定义动作C++代码中控制什么?

非常感谢你们!

回答