如何使用WiX Pyro将已更改但具有相同版本号的文件包含到MSP中?

时间:2014-06-12 14:31:19

标签: wix windows-installer msp

我使用WiX Pyro(using purely WiX toolset)创建了一个MSP补丁文件。但似乎创建的MSP文件不包含内容更改但未更改版本号的文件。我认为,大多数这些文件实际上并没有在主要内容中更改,只是由Visual Studio重建。因此,Pyro可能是理想的行为。

但我的客户问我为什么最新的MSI安装的文件和MSP补丁更新的文件不同。所以,我想知道有没有办法将这些文件包含到MSP补丁中,或者我可以告诉我的客户这两个文件集(最新的MSI,旧的MSI + MSP)是否相同,这样您就可以安全地使用该产品? (当然,我认为我的文件版本管理非常糟糕而且不系统,但MSI的版本规则对我来说过于严格且有些不灵活。)

1 个答案:

答案 0 :(得分:2)

Windows Installer文件更新规则就是它们,我不认为你会改变它们。标准规则是通过递增版本告诉Windows文件已更新,然后在安装时更高版本将替换较低版本。这就是生成补丁的工具也使用版本规则的原因 - 为什么它们应该包含没有更高版本的文件? Service Pack,修补程序,修补程序等都基于文件版本工作。

如果你想使用你喜欢的任何文件版本,那么请停止使用补丁并进行一次主要的升级,以便及早进行RemoveExistingProducts,这样你就可以卸载所有旧文件,然后安装所有新文件。 。

顺便说一下,如果这些是托管代码文件,并且您认为增加文件版本意味着增加assemblyversion,那么使用AssemblyFileVersion增加文件版本并单独保留汇编版本。