1

我使用 WiX Pyro(使用纯 WiX 工具集)创建了一个 MSP 补丁文件。但似乎创建的 MSP 文件不包括内容更改但版本号未更改的文件。正如我认为的那样,这些文件中的大多数实际上并没有在主要内容上进行更改,而只是由 Visual Studio 重建。因此,Pyro 所做的可能是可取的行为。

但是我的客户问我为什么最新的MSI安装的文件和MSP补丁更新的文件不同。所以,我想知道有什么方法可以将这些文件包含到 MSP 补丁中,或者我可以告诉我的客户这两个文件集(最新的 MSI、旧的 MSI + MSP)是相同的,这样您就可以安全地使用该产品了吗?(当然,我觉得我的文件版本管理很差,不系统,但是微星的版本规则对我来说太严格了,有点不灵活。)

4

1 回答 1

2

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

如果您想使用您喜欢的任何文件版本,请停止使用补丁并进行重大升级,尽早执行 RemoveExistingProducts,这样您就相当于卸载所有旧文件,然后安装所有新文件。

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

于 2014-06-12T16:53:41.417 回答