我正在尝试创建一个脚本,从某些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文件?
答案 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}}