Wix Installer应用程序运行两次后将无法安装并卸载该应用程序

问题描述 投票:1回答:1

我用gui编写了一个简单的wix安装程序,可以很好地安装。但是,当我第二次运行相同的.msi文件时,它将带我完成gui中的正常安装过程,但最后会卸载我的应用程序。然后,如果我第三次运行相同的.msi文件,则安装程序仍会正常执行安装gui,但最终会执行“卸载”。

我不明白为什么它的行为不像其他安装程序那样,并且可以正常处理安装和卸载。

这是我的产品xml的一部分

 <Product Id="*" Language="1033" Codepage="1252" Name="..." 
       Version="$(var.ProductVersion)" Manufacturer="..." UpgradeCode="BDF9E310-5897-48D4-AB08-889D405F9X56">

<Package InstallerVersion="300" Platform="x64" Compressed="yes" InstallScope="perMachine" Manufacturer="..." 
         Comments="..." Description="..." Keywords="..."/>

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
c# wix wix3.5 wix3 wix3.7
1个回答
0
投票
<Product Id="*" Name="..."  Version="" Manufacturer="..." UpgradeCode="...">

Auto-GUIDId="*"部分表示“自动生成产品代码”(使用*表示自动生成)。执行此操作时,安装程​​序的每次构建或重建都会获得新的产品代码。如果您还更改了[[ProductVersion(前3位数字之一)并且您有MajorUpgrade element(例如您正在使用的源(顺便说一下,这是标准的)。

Solution:如果您希望能够控制何时更改,则可以对产品代码进行硬编码。

© www.soinside.com 2019 - 2024. All rights reserved.