在Wix主要升级上没有卸载

时间:2014-06-05 10:23:37

标签: wix

这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <?define ProductName = "MyApp"?>
  <?define ProductCode = "GUID_NO1"?>
  <?define UpgradeCode = "GUID_NO2"?>
  <?define ProductVersion = "1.0.0"?>

  <Product Id="$(var.ProductCode)"
           Name="$(var.ProductName)"
           Language="1033" 
           Version="$(var.ProductVersion)"
           Manufacturer="Me"
           UpgradeCode="$(var.UpgradeCode)">

    <Package Description="My desc" 
             InstallerVersion="300"
             Compressed="yes"
             InstallScope="perMachine" />

<MajorUpgrade DowngradeErrorMessage="A newer version is already installed." />
    ...

我构建,安装,一切顺利。 所以我替换

  <?define ProductCode = "GUID_NO3"?>
  <?define UpgradeCode = "GUID_NO4"?>
  <?define ProductVersion = "1.0.1"?>

我构建,安装并在程序/功能中找到了2个MyApp,一个在1.0.0版本中,一个在1.0版本中。 当然我需要删除1.0.0。

为ProductCode保持相同的guid 将无效。

我正在使用Wix 3.8。

1 个答案:

答案 0 :(得分:4)

确保UpgradeCode保持不变并将Id更改为*。

<Product Id="*" Name="Stub" Language="1033" Version="$(var.Version)" 
    Manufacturer="" UpgradeCode="FAFD7276-68F3-43AF-BEBF-8F175499A243">