Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用WIX在MST中设置摘要信息_C#_Wix_Windows Installer - Fatal编程技术网

C# 使用WIX在MST中设置摘要信息

C# 使用WIX在MST中设置摘要信息,c#,wix,windows-installer,C#,Wix,Windows Installer,使用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, ms

使用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。

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

如果我随后转到(在ORCA中)Transform | Transform Properties,我会看到一个标题为“Transform SummaryInfo”的屏幕。它有一系列用于抑制错误和验证的复选框。这映射到CreateTransformSummaryInfo中可用的参数。使用相同的方法阅读DTF帮助主题时会说:

创建并填充现有数据库的摘要信息流 转换文件,并用基和 参考ProductCode和ProductVersion

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


如果我完全理解您正在更新的内容/原因,我可能会给出更好的答案。

谢谢您的回复。我需要为任何msi创建带有标准的mst模板,从而更新摘要信息属性以符合标准。摘要信息值更新不适用于使用C#和WIX,但在使用第三方mst创建工具(如Installshield)时效果良好。因此,我认为可以使用mst更新摘要信息值,但我无法使用wix+C。有趣的观察。如果我使用InstallShield,它声称允许我更改SIS内容。但是当我使用ORCA将MST应用到MSI时,我看不到更改。如果我在InstallShield中应用编辑MST,它会显示它。这是我所不知道的。也许MichaelU或RobM可以插嘴他们认为正在发生的事情。我的直觉是这是一项繁忙的工作,Windows安装程序并不真正支持它。