You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义操作仅在安装与升级时执行一次的配置问题

解决方案

问题出在自定义操作的执行条件上,当前的NOT Installed AND UPGRADINGPRODUCTCODE要求同时满足两个条件才会执行:

  • NOT Installed:表示当前产品尚未安装(对全新安装和升级时的新版本都成立)
  • UPGRADINGPRODUCTCODE:仅在升级旧版本时才会被Windows Installer设置

全新安装时UPGRADINGPRODUCTCODE不存在,导致整个条件不成立,所以自定义操作不执行。

修改执行条件为NOT Installed OR UPGRADINGPRODUCTCODE,即可覆盖全新安装和升级两种场景,且保证每种场景仅执行一次:

<CustomAction Id="MyCustomAction"
      Return="check"
      Execute="deferred"
      Impersonate="no"
      BinaryKey="MyCustomActions.CA.dll"
      DllEntry="MyCustomAction" />


<InstallExecuteSequence>
    <Custom Action="MyCustomAction"
            Before="InstallFinalize">
    <![CDATA[NOT Installed OR UPGRADINGPRODUCTCODE]]>
    </Custom>
</InstallExecuteSequence>

验证逻辑:

  • 全新安装:NOT Installed为真,条件成立,自定义操作执行一次
  • 升级:UPGRADINGPRODUCTCODE为真,条件成立,自定义操作仅执行一次(解决了之前的重复执行问题)

内容的提问来源于stack exchange,提问作者Willy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:07:47