【发布时间】:2014-10-30 01:22:07
【问题描述】:
我使用的是 Wix 3.8。
首先,我创建了一个安装程序 (.msi),它在安装过程中执行自定义操作(出于测试目的,它只显示一条消息):
产品元素:
<Product Id="PUT-GUID-HERE" Name="MyProduct"
Version="1.0.1.100" Manufacturer="Foobar Company"
UpgradeCode="PUT-GUID-HERE">
自定义操作
<CustomAction Id="Message1" Script="vbscript">
<![CDATA[
MsgBox("First Install?")
]]>
</CustomAction>
<InstallExecuteSequence>
<Custom Action="Message1"
Before="InstallInitialize">NOT Installed AND NOT REMOVE</Custom>
现在,当我执行我的 .msi 文件时,该消息将显示在我的安装中:
接下来,我修改我的产品代码并增加我的版本号以构建更新:
产品元素:
<Product Id="PUT-GUID-HERE"
Name="MyProduct" Version="1.0.2.100"
Manufacturer="Foobar Company"
UpgradeCode="PUT-GUID-HERE">
关于NOT Installed AND NOT REMOVE 我期望的条件,当我执行更新时不会出现消息框。但确实如此:
仅在安装时执行而不在更新时执行的自定义操作的正确条件是什么?
【问题讨论】:
标签: wix windows-installer wix3.8