我试图用Wix 3.8进行一次重大升级,这是没有发生的,我得到的错误如下:
MSI (s) (B8:38) [12:42:55:680]: Doing action: RemoveExistingProducts
MSI (s) (B8:38) [12:42:55:680]: Note: 1: 2205 2: 3: ActionText
Action ended 12:42:55: InstallInitialize. Return value 1.
MSI (s) (B8:38) [12:42:55:680]: Skipping RemoveExistingProducts action: current configuration is maintenance mode or an uninstall
我已经处理了Wix主要升级的五项基本规则:
-
ProductCode设置为"*"
-
PackageCode设置为"*"
-
UpgradeCode在主要升级中没有改变
-
版本如果大于1.0.0并在第三位递增
-
该软件包是perMachine,主要升级版本尚未更改 .
我的wxs的摘录如下:
<Upgrade Id="GUID1">
<UpgradeVersion Minimum="4.0.0" IncludeMinimum="yes" OnlyDetect="yes" Property="NEWERVERSION"/>
<UpgradeVersion Minimum="2.0.0"
IncludeMinimum="no"
Maximum="4.0.0"
IncludeMaximum="no"
OnlyDetect="no"
Property="OLDERVERSIONFORUPGRADE" />
</Upgrade>
<InstallExecuteSequence>
<!-- Uninstall previous version before installing this one. -->
<RemoveExistingProducts After="InstallInitialize"/>
<Custom Action ... />
....
<InstallExecuteSequence/>
还有其他我想念的东西吗?任何线索将不胜感激 . 谢谢 .
1 回答
发现问题,希望它可以帮助某人:
生成EXE的NSIS脚本使用标志 -
REINSTALL=ALL REINSTALLMODE=vdmus
,这可以防止重大升级 . 删除它清除了主要升级的路径!