我使用的是WiX 3.10
以下Wxs文件定义了我的WiX安装程序。但是,我最近想在安装新版本之前删除旧版本。令我惊讶的是,它在本地工作,但是当它由tfs构建时,它的行为有所不同,请参阅以下示例
假设我安装了2.0.1版
有人可以解释为什么我会遇到这种奇怪的行为吗?我有一个预构建脚本,它将product Id
元素更新为新的guid和version
元素以匹配tfs内部版本号(因此我保证每个构建版本都有一个新的guid和一个新的版本号)
这是我的Wxs
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="xxx"
Language="1033"
Version="0.0.0.0"
Manufacturer="xxx"
UpgradeCode="FC30BA3E-619C-4247-988E-2823831E9E04">
<Package Compressed="yes"
InstallerVersion="200"
Manufacturer="xxx"
Description="xxx"
Comments="(C) 2016 xxx"
Platform="x64"
InstallScope="perMachine"/>
...
<MajorUpgrade
Schedule="afterInstallInitialize"
DowngradeErrorMessage="A newer version of [ProductName] is already installed."/>
</Product>
</Wix>
答案 0 :(得分:1)
嗯,事实证明版本应该是3部分而不是4部分 例如:1.0.0.1将不起作用,而1.0.1适用于我的案例