【发布时间】:2013-01-03 00:18:50
【问题描述】:
我有一个设置我的应用程序的 MSI。它只有一个组件并且仅安装到 %PROGRAMFILES%(无共享二进制文件)。简化,看起来是这样的
Msi file, Monday build:
Program.exe (v1.0.0)
ThirdPartyLibrary.dll (v2.0.1)
现在,如果我发现程序中的错误是由我将 ThirdPartyLibrary dll 从 v2.0.0 升级到 v2.0.1 引起的,从而恢复对 v2.0.0 的引用,我的 MSI 似乎不会自动替换安装目录下的文件?
Msi file, Tuesday build:
Program.exe (v1.0.0)
ThirdPartyLibrary.dll (v2.0) <- downgraded
确保程序文件夹始终包含我的设置中的二进制文件的最佳做法是什么?我应该 a) 在复制新文件之前擦除安装目录中的所有内容吗?有没有我可以使用的选项(在 Wix 中)使 msi 强制覆盖所有文件而不管版本如何?
如果我从设置中删除一个文件(如果在运行时存在会导致错误的文件),那么在设置之后拥有一个工作程序的唯一方法是先删除所有文件怎么办?
【问题讨论】:
-
从安装程序的角度来看,星期二的构建应该包含 v2.0.2 作为 v2.0.1 的修复程序。现在,如果您安装了周一 msi,则无需在周二执行任何操作,您已经拥有更新版本的 dll.... 我假设您知道 tutorial
-
问题是没有 v2.0.2,我无法制作一个,因为它是一个第三方库,我发现升级导致我的应用程序出现问题。所以我需要的是我的应用程序的新(星期二)版本包含第三方库的旧版本(v2.0.0)。我在教程中找不到这个,你知道那里有提到吗?这一定是一个相当普遍的问题?
-
我想替换我们自己应该可以:wix.tramontana.co.hu/tutorial/upgrades-and-modularization/…你也可以尝试加入wix-users mailing list
标签: wix windows-installer