生成自动包含标准属性的mst

时间:2014-09-18 17:00:33

标签: installer windows-installer msiexec

我想生成一个MST,它使用模板自动成为标准属性等。我怎么能做任何脚本(vbscript,IS脚本或powershell)? 我正在使用installshield。谢谢。

1 个答案:

答案 0 :(得分:0)

用于生成可用的MsiTran.exe。您可以在安装Windows SDK(或包含在Visual Studio中)时获得它。

使用msitran -g,您可以轻松生成转换。 使用msitran -a,您可以轻松应用转换,例如在批处理或脚本中,当然也包括使用InstallShield或其他工具创建的转换。

与MSI中的所有内容一样,MsiTran参数都有很好的记录。在此Internet工具的Internet(MSDN)中搜索文档。

值得一提的是,尽管人们普遍相信,您可以独立于ProductCode,UpgradeCode等定义转换。 这允许使用.mst像一般的“diff”或换句话说自动编辑。

您可以在MSI中添加所需的MSI行所需的行和列(最好是一个简单的小MSI),应用MsiTran,它可以获得“原始MSI”和“编辑过的MSI”之间的差异,并保存转化的结果。 如果您使用了正确的参数,这可以作为所有其他MSI的“模板”。

(从技术上讲,这些差异是MSI数据库的SQL命令/查询,但大多数时候都不应该这么做。)

第二个重要的事情是,转换包含错误配置。例如。如果通过转换添加属性,并且该属性已存在,则可以抛出错误。 我希望在大多数情况下避免此类错误,例如可以第二次应用变换而不会出错。但另一方面,如果您的MSI与您的预期相符,他们可以给出一个很好的测试。 错误配置也可以通过记录的命令行参数设置。

如上所述,您可以使用图形工具创建,查看和编辑变换 InstallShield或Insted。

您希望根据逻辑条件更改某些字段的智能编辑不能直接用于转换。为此,您可以使用经典编程。大多数管理员都使用VBS或JScript等脚本语言。有很多例子。