gpt4 book ai didi

Wix MajorUpgrade问题

转载 作者:行者123 更新时间:2023-12-04 05:03:55 25 4
gpt4 key购买 nike

这是场景。

1.)安装1.0.1.1,然后升级到1.0.2.2 ===>效果很好(符合预期)

2.)安装1.0.2.2,然后降级到1.0.1.1 ===>这不起作用(按预期方式)

3.)安装1.0.1.1,然后安装1.0.1.1 ===>进入修复/删除模式(按预期方式)

4.)安装1.0.1.1,然后安装1.0.1.2 ===>它像新安装的一样,并在控制面板的“添加/删除程序”中两次显示该程序(我想它应该像3.一样工作),因为理解,MSI不在乎产品版本的第4部分)

我做错什么了吗?

<Product Id="*" Name="My product" Version="$(var.Version)" Language="1033"  Manufacturer="My Company" UpgradeCode="MY-UPGRADE-CODE">

<Package Description="My product" Comments="Comments" InstallerVersion="200" Compressed="yes" />

<MajorUpgrade Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />

最佳答案

正如WIX文档中提到的那样。您需要在MajorUpgrade元素中将以下属性设置为"is",以处理这种情况。阅读突出显示的文本以获取更多详细信息。

AllowSameVersionUpgrades(YesNoType)

如果设置为no(默认值),则允许安装具有相同版本和升级代码(但产品代码不同)的产品,并且MSI将其视为两个产品。设置为yes时,WiX设置msidbUpgradeAttributesVersionMaxInclusive属性,该属性告诉MSI将具有相同版本的产品视为主要升级。

This is useful when two product versions differ only in the fourth version field. MSI specifically ignores that field when comparing product versions, so two products that differ only in the fourth version field are the same product and need this attribute set to yes to be detected.

请注意,由于MSI忽略了第四个产品版本字段,因此,如果前三个产品版本字段相同,则将此属性设置为yes也会降级。例如,产品版本1.0.0.1将“升级” 1.0.0.2998,因为它们被视为同一版本(1.0.0)。这可能会重新引入严重的错误,因此最安全的选择是更改前三个版本字段,并忽略此属性以获取默认值no。

当AllowDowngrades也是“yes”时,此属性不能为“yes”-AllowDowngrades已经允许具有相同版本号的两个产品相互升级。

资料来源:WIX Documentation

关于Wix MajorUpgrade问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com