1

使用 wix 创建的 MST 没有更新的摘要信息流值。

//The temp msi (copy of original msi) has updated summary info values
Database d2 = new Database(tempmsiPath, DatabaseOpenMode.Direct);

//origDatabase is a Database object of original msi;
d2.GenerateTransform(origDatabase, mstPath);

//this code is used to create the mst. 
d2.CreateTransformSummaryInfo(origDatabase, mstPath, 
                TransformErrors.None,TransformValidations.None);

请让我知道如何使用 C# 将更新的汇总值写入 MST。

4

1 回答 1

1

如果我在 ORCA 中打开一个 MSI,创建一个新的转换,然后转到摘要信息,所有字段都是灰色的。

如果我然后去(在 ORCA 中)变换 | 转换属性 我得到一个标题为“转换摘要信息”的屏幕。它有一系列用于抑制错误和验证的复选框。这映射到 CreateTransformSummaryInfo 中可用的参数。阅读有关相同方法的 DTF 帮助主题说:

创建并填充现有转换文件的摘要信息流,并使用基础和引用 ProductCode 和 ProductVersion 填充属性。

....WindowsInstaller.Package 程序集中还有一个 TranformInfo 类,但它只支持读取转换信息。Rob 可能会告诉您更多信息,但似乎在设计上不提供不受限制的访问。可能是因为转换必须与基本 MSI 兼容。

也许如果我完全了解您要更新的内容/原因,我可以给出更好的答案。

于 2013-05-13T12:35:33.803 回答