WIX主要升级:在第二次运行中运行自定义操作

时间:2013-07-22 06:35:56

标签: wix windows-installer wix3.5

我们有一个安装方案,在对我们需要的产品进行重大升级之前 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行动,使其在执行期间运行 - 维修/补丁
- 第二轮重大升级即安装新产品
- 次要升级

并且在执行期间不运行 - 卸载
- 全新安装
- 首次进行重大升级,即卸载现有产品

编辑:上面的问题是,它也在主要升级的第一阶段运行。

1 个答案:

答案 0 :(得分:0)

尝试下一步:

REINSTALL OR PATCH OR (WIX_UPGRADE_DETECTED AND NOT REMOVE="ALL")