我们的应用程序版本5.0中的版本1.0上存在第三方dll。

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

因此,在应用程序的6.1版中,我们想回滚到第三方dll的1.0版。但是Windows Installer认为该组件的版本大于MSI中的组件,并且不希望对其进行更新。

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

最佳答案

如果您的更新需要遵循组件规则,那么您应该考虑使更新的两个Dll(具有相同的组件guid)都作为可传递组件,不需要的一个具有错误条件,而另一个具有一个true。他们俩当然会在同一个位置。错误的值将导致较旧的值不存在。使用补丁程序应该可以正常工作。

如果您愿意进行重大升级,则要简单得多。尽早(如在InstallInitialize之后)对RemoveExistingProducts进行排序,然后将卸载所有旧文件,然后再安装新文件,并且没有使用文件覆盖规则。

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

10-10 07:59