Wix MajorUpgrade不会检测产品版本的最后位置

时间:2014-11-04 16:04:24

标签: visual-studio wix

我正在尝试配置我的Wix Toolkit安装程序来处理我的Visual Studio应用程序的升级。

<?xml version="1.0" encoding="UTF-8"?>
<?define ProductVersion = "5.0.0.115"?>
<?define ProductUpgradeCode = "9880b0b8-b3b1-4fa6-b65e-d4ecff430248"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="*" Name="My Software" Language="1033" Version="$(var.ProductVersion)" Manufacturer="My Company" UpgradeCode="$(var.ProductUpgradeCode)">
  <Package Id="*" InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="My Software version 5 installer" />

  <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed."  />
  <MediaTemplate EmbedCab="yes" />

问题是MajorUpgrade实际上没有检测到.115。因此,例如安装了版本5.0.0.110,然后运行5.0.0.115安装程序,在添加/删除程序中它将列出5.0.0.110和5.0.0.115。如果我将版本更改为5.0.115.0,一切正常。

这是程序应该如何工作还是这个错误?

1 个答案:

答案 0 :(得分:5)

WiX不是问题。

这是Windows Installer中的设计。 Windows Installer只会查看:

major.minor.build

任何第4个字段都会被忽略。有关详细信息,请参阅ProductVersion property文档。