c# - 如何在 WiX MSI 中降级第三方文件

标签 c# dll wix windows-installer

我们的应用程序的 5.0 版中有一个第三方 dll,它是 1.0 版的。

在我们应用程序的 6.0 版中,我们将第三方 dll 升级到 2.0 版。但这给应用程序带来了问题,我们想回滚。

所以在我们应用程序的 6.1 版中,我们想回滚到第三方 dll 的 1.0 版。但 Windows Installer 认为该组件的版本高于 MSI 中的版本,因此不想更新它。

如何回退我们产品6.1版本的第三方dll?

最佳答案

如果您的更新需要遵循组件规则,那么您应该考虑将更新的两个 Dll(具有相同的组件 guid)作为传递组件,不需要的一个具有 false 条件,另一个具有 true。他们当然会在同一个地方。 false 值将导致较旧的值不存在。这应该可以使用补丁。

如果您愿意进行重大升级,那就简单多了。尽早序列化 RemoveExistingProducts(例如在 InstallInitialize 之后),所有旧文件将被卸载,然后安装新文件,并且没有使用文件覆盖规则。

关于c# - 如何在 WiX MSI 中降级第三方文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25311969/

相关文章:

c# - 如何获得在集合数量中找到的最长匹配项,顺序很重要

c# - TryParse() - 为什么此代码返回 0,结果不应该是 -1?

c++ - DLL对执行速度的影响

从同一个 dll 调用多个函数

wix - MSI 安装程序 InstallValidate 如何确定正在使用的文件?

c# - 设置十进制标识符的小数位数和精度

c# - 创建自定义数据类型验证

c# - 框架.NET。很多 Dll 和一个 Exe 之间的区别

Wix:编辑控件未设置属性

installation - FileAbsent 作为组件选择状态的含义是什么?是什么导致了这种情况?