如何检查两个MSI文件中是否存在任何更改

时间:2015-03-11 15:49:07

标签: c# wix windows-installer

我正在尝试通过C#中的Wix库生成对MSI的转换。 在我的程序中,我将所有属性合并到MSI的副本,并通过比较两个MSI(原始和修改的副本)生成转换。

如果MSI中已存在所有属性,则程序将崩溃。

如何检查任何两个MSI是否有任何差异? 因此,该程序在生成转换时不会崩溃。

1 个答案:

答案 0 :(得分:0)

对我来说最明显的解决方案是简单地查询MSI文件的Property表以查看该属性是否已经存在,然后不要尝试添加它。在不知道代码实际看起来是什么样的情况下,为什么不抓住因尝试添加重复属性而导致的错误?

否则,请查看Windows Kit / SDK中的WiDiffDB.vbs,看看该脚本如何比较两个MSI文件。基本上是调用MsiDatabaseGenerateTransform()。