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

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

本文介绍了Wix MajorUpgrade 不会检测产品版本的最后位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to configure my Wix Toolkit installer to handle upgrades for my Visual Studio app.

<?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,则一切正常.

The problem is that .115 is not actually detected with MajorUpgrade. So for example version 5.0.0.110 is installed, then 5.0.0.115 installer is ran, in the add/remove programs it will list both 5.0.0.110 and 5.0.0.115. If I change the version to 5.0.115.0 everything works correctly.

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

Is this how the program should work or is this a bug?

推荐答案

WiX 不是问题.

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

This is by design in Windows Installer. Windows Installer will only look at:

major.minor.build

并且忽略任何第四个字段.请参阅 ProductVersion 属性 文档了解更多详情.

And any 4th field is ignored. See the ProductVersion property documentation for more details.

这篇关于Wix MajorUpgrade 不会检测产品版本的最后位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 06:35