我们的应用程序的 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/