我们有一个安装场景,在对产品进行重大升级之前,我们需要
backup
某些配置/资源文件,然后再同步它们。
所以我们运行一个自定义操作来备份文件:
<InstallExecuteSequence>
..
<Custom Action='BackupAppFolder' Before="RemoveFiles">
<![CDATA[(Installed AND NOT REMOVE="ALL") OR (UPGRADINGPRODUCTCODE)]]>
</Custom>
..
</InstallExecuteSequence>
主要升级计划为
<MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="!(loc.DowngradeMessage)"
Schedule="afterInstallInitialize"/>
“同步”操作计划为
<InstallExecuteSequence>
..
<Custom Action='ResourceSync' Before="InstallFinalize">
(Installed AND NOT REMOVE = "ALL" AND NOT WIX_UPGRADE_DETECTED )
OR (NOT Installed AND WIX_UPGRADE_DETECTED)
</Custom>
..
</InstallExecuteSequence>
我想安排ResourceSync
操作,使其在
-- 修复/补丁
-- 第二次运行主要升级即安装新产品
-- 次要升级 期间运行
并且不运行
-- 卸载
-- 全新安装
-- 主要升级的第一次运行,即卸载现有产品
编辑:上面的问题是,它也在主要升级的第一阶段运行。