这是我的代码:
<?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。
答案 0 :(得分:4)
确保UpgradeCode保持不变并将Id更改为*。
<Product Id="*" Name="Stub" Language="1033" Version="$(var.Version)"
Manufacturer="" UpgradeCode="FAFD7276-68F3-43AF-BEBF-8F175499A243">