gpt4 book ai didi

wix - "Downgraded"MS dll 在升级时消失 - Windows Installer

转载 作者:行者123 更新时间:2023-12-01 11:18:32 27 4
gpt4 key购买 nike

我们开发了一个通过 Windows Installer 分发的应用程序,它是使用 WiX 创建的,我们的客户可以在其中从任何旧版本升级到最新版本。

然而,我们的最新版本删除了 2 个 dll,这只能通过重新安装来纠正。

NuGet 包的详细信息

Microsoft.IdentityModel.Protocol.ExtensionsNuget Version 1.0.2.206221351 升级而来和文件版本 1.0.20622.1351 到 Nuget version 1.0.4.403061554和文件版本 1.0.4.54。

System.IdentityModel.Tokens.Jwt 的文件版本控制也发生了类似的变化。来自 Nuget version 4.0.2.206221351Nuget version 4.0.4.403061554 .

因此,通过更改文件版本的计算方式,MS 有效地将版本更改为之前的降级(在构建版本上从 20622 降至 4)。

为什么 dll 在升级时被删除

有人称它为错误,有人称其为功能,但实际上,MSI 有一个步骤记录所有需要升级的文件,然后卸载当前版本,然后只安装未更改或版本有变化的文件 - 任何降级都被排除在外。

问题:我们如何绕过它?

我们将此产品运送给许多不同的客户,他们的技术水平各不相同,因此升级效果更好,否则我们将遇到大量支持问题。有什么我可以更改的,而无需实际禁用功能,例如 MSI 在出现错误时回滚的能力,我认为这是对解决相同问题的其他人的权衡。

最佳答案

您有几个选择。一种是更改安排 RemoveExistingProducts 的位置。另一种是使用 REINSTALLMODE=AMUS 而不是默认的 OMUS。另一个是在有问题的 DLL 上做版本,以便它们总是被重新安装。 (编写文件元素,使版本为 65535.0.0.0 或类似的版本。)

这是一个 MSI 功能……这个错误是在 Nuget 中发布了一个版本号较低的较新 DLL。这违反了 MSI 的组件规则和默认文件版本控制规则。

关于wix - "Downgraded"MS dll 在升级时消失 - Windows Installer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157021/

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