WiX MajorUpdate 元素未按预期工作
WiX MajorUpdate element not working as expected
我正在使用 WiX 3.10
以下 Wxs 文件定义了我的 WiX 安装程序。但是,我最近想在安装新版本之前删除旧版本。令我惊讶的是,它在本地工作,但当它由 tfs 构建时,它的行为有所不同,请参见以下示例
假设我安装了 2.0.1 版
- 我为项目排队新构建并获取 tfs 来创建我的 2.0.2 msi
- 我运行 2.0.2 微星
- 我检查了程序和功能界面,我看到了 2.0.1 和 2.0.2
- 我开始另一个 tfs 构建并获得 2.0.3 msi
- 我运行 2.0.3 微星
- 我检查程序和功能 window,我看到 2.0.2 和 2.0.3(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>
嗯,原来版本应该是3个部分而不是4个
例如:无论 1.0.0.1 是否适用于我的情况,1.0.0.1 都不起作用
我正在使用 WiX 3.10
以下 Wxs 文件定义了我的 WiX 安装程序。但是,我最近想在安装新版本之前删除旧版本。令我惊讶的是,它在本地工作,但当它由 tfs 构建时,它的行为有所不同,请参见以下示例
假设我安装了 2.0.1 版
- 我为项目排队新构建并获取 tfs 来创建我的 2.0.2 msi
- 我运行 2.0.2 微星
- 我检查了程序和功能界面,我看到了 2.0.1 和 2.0.2
- 我开始另一个 tfs 构建并获得 2.0.3 msi
- 我运行 2.0.3 微星
- 我检查程序和功能 window,我看到 2.0.2 和 2.0.3(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>
嗯,原来版本应该是3个部分而不是4个 例如:无论 1.0.0.1 是否适用于我的情况,1.0.0.1 都不起作用