我正在尝试使用Wix安装程序运行脚本,我希望该脚本仅在以下场景中运行:
- 在升级/卸载时删除安装文件之前
- 首次安装产品时
我尝试了无数次Wix和自定义的组合,但都没有成功。我最近的尝试是:
<InstallExecuteSequence>
<!-- This script will run only when removing the installation files -->
<Custom Action='BackupPreviousVersionAction' After="InstallInitialize">
(Not Installed AND NOT UPGRADINGPRODUCTCODE) OR (Installed AND REMOVE~="ALL" AND UPGRADINGPRODUCTCODE)
</Custom>
</InstallExecuteSequence>
除了升级之外,它在所有场景下都运行良好。当我升级时,当产品被删除时,会调用脚本,但问题是当Wix安装新版本时,脚本会再执行一次。
我希望能够在升级或卸载或重新安装时执行ONCE
我也尝试过使用这里的建议https://stackoverflow.com/a/18531890/14438633
这个条件似乎起到了作用:
(Not Installed AND NOT WIX_UPGRADE_DETECTED) OR REMOVE~="ALL"