使用vbscript读取MST文件

时间:2010-02-04 15:01:17

标签: vbscript windows-installer

我正在尝试创建一个脚本,从某些MSI和MST文件中获取信息并将其写入文本文件。我实现了阅读MSI文件。但是,我收到以下消息。

Msi API Error 80004005: OpenDatabase, DatabasePath, OpenMode
1:2219  2:  3:4:

我像这样打开文件

Set installer = Wscript.CreateObject("WindowsInstaller.Installer") : CheckError
Dim database : Set database = installer.OpenDatabase(FileName, msiOpenDatabaseModeReadOnly) : CheckError

它适用于MSI文件。我认为应该以不同的方式阅读MST文件。

如何使用vbscript读取MST文件?

1 个答案:

答案 0 :(得分:3)

我没有尝试过,但根据MSDN,要查看转换文件(MST),您需要打开MSI数据库,然后使用msiTransformErrorViewTransform方法和Const msiOpenDatabaseModeReadOnly = 0 Const msiTransformErrorViewTransform = 256 Dim installer, database Set installer = CreateObject("WindowsInstaller.Installer") : CheckError Set database = installer.OpenDatabase(MSIFileName, msiOpenDatabaseModeReadOnly) : CheckError database.ApplyTransform MSTFileName, msiTransformErrorViewTransform : CheckError 参数。这将为您提供一个临时的ApplyTransform表,您可以查询该表以获取所需的信息。

因此,您的代码应如下所示:

{{1}}