Windows Wix安装程序AllowDowngrades=否不起作用
我正在尝试使用WIX安装程序实现版本控制,以便中止较低版本的安装 有了这段代码,WIX可以检测到较新的版本,并按预期卸载较旧的版本 但是,当我尝试安装较旧版本而不是较新版本时,安装程序仍在运行,为我们的产品创建了一个空安装(只包含并修改了创建一个安装)Windows Wix安装程序AllowDowngrades=否不起作用,windows,wix,installation,Windows,Wix,Installation,我正在尝试使用WIX安装程序实现版本控制,以便中止较低版本的安装 有了这段代码,WIX可以检测到较新的版本,并按预期卸载较旧的版本 但是,当我尝试安装较旧版本而不是较新版本时,安装程序仍在运行,为我们的产品创建了一个空安装(只包含并修改了创建一个安装) 这是一张照片 i、 stack.imgur.com/jJA0S.jpg 有人能告诉我这里发生了什么吗?你应该发布以下关于旧的和升级的MSI设置的信息:ProductCode,UpgradeCode。假设您的安装范围是正确的,可能的解释是您的
这是一张照片
i、 stack.imgur.com/jJA0S.jpg
有人能告诉我这里发生了什么吗?你应该发布以下关于旧的和升级的MSI设置的信息:ProductCode,UpgradeCode。假设您的安装范围是正确的,可能的解释是您的安装范围是不同的:一个是每个用户的安装范围,另一个是每台机器的安装范围,反之亦然。请报告ProductVersions,抱歉。@PhilDW:我已更新了代码的相关部分,我正在使用相同的userProductVersions在同一台PC上安装应用程序,旧安装和新安装都需要ProductCode和UIpgradeCode,即实际值。如果需要,可以从Orca的每个MSI文件中获取它们。无法从发布的信息中看出升级可能失败的原因。@PhilDW我指定每次“*”都会生成产品代码。我没有指定UIUpgradeCode。您可以在图中看到,该版本是自定义的
<Product Id="*"
Name="MyName"
Language="1033"
Version="!(bind.FileVersion.SomeDLL.dll)"
UpgradeCode="0ABC2FDA-9AA8-4418-934F-F99C3B205809">
<Package InstallerVersion="400"
Compressed="yes"
InstallScope="perMachine"
Manufacturer="!(loc.Manufacturer)"
Description="!(loc.PackageDescription)"
Comments="!(loc.PackageComments)"
SummaryCodepage="!(loc.Codepage)" />
<MajorUpgrade
AllowDowngrades="no"
DowngradeErrorMessage="A newer version of !(loc.ProductName) is already installed."
AllowSameVersionUpgrades="no"
Schedule="afterInstallInitialize"/>
</Product>