如何降级WiX MSI中的第三方文件

时间:2014-08-14 15:31:48

标签: c# dll wix windows-installer

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

在我们的应用程序的6.0版本中,我们将第三方dll升级到2.0版。但这导致应用程序出现问题,我们想回滚。

因此,在我们的应用程序的6.1版本中,我们想要回滚到第三方dll的1.0版本。但是,Windows Installer将该组件视为比MSI中的版本更大的版本,并且不想更新它。

如何在6.1版本的产品中回滚第三方dll?

1 个答案:

答案 0 :(得分:2)

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

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