Wix MajorUpgrade не будет определять последнюю позицию версии продукта

Я пытаюсь настроить установщик 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" />

Проблема в том, что.115 фактически не обнаруживается с MajorUpgrade. Так, например, установлена ​​версия 5.0.0.110, а затем запущен установщик 5.0.0.115, в программах добавления / удаления в нем будут перечислены как 5.0.0.110, так и 5.0.0.115. Если я меняю версию на 5.0.115.0, все работает правильно.

Так должна работать программа или это ошибка?

1 ответ

Решение

Не проблема с WiX.

Это сделано в Windows Installer. Установщик Windows будет смотреть только на:

major.minor.build

И любое 4-е поле игнорируется. Увидеть ProductVersionдокументацию по недвижимости для более подробной информации.

Другие вопросы по тегам