Итак, я создаю vbscript, который будет читать файлы MSI и MST.Идея состоит в том, что если пользователь, который будет запускать сценарий, тестирует MSI с включенным файлом MST, сценарий должен создать «отчет» о новых свойствах этого MST.
Я могу получить свойства от обычного MSI, проблема в том, что я пытаюсь попасть в раздел MST.В ходе исследования я узнал о таблице _TransformView, и это должно помочь мне получить эту информацию, но я не уверен, что знаю, как обращаться с этой таблицей.
Const msiTransformErrorViewTransform = 256
Const msiOpenDB = 2
Dim FS, TS, WI, DB, View, Rec
Set WI = CreateObject("WindowsInstaller.Installer")
Set DB = WI.OpenDatabase(msiPath,msiOpenDB)
DB.ApplyTransform mstPath, msiTransformErrorViewTransform
If Err.number Then
Exit Function
End If
For i = 0 To 24 'Number of properties on the arrPropertyList
Set View = DB.OpenView("Select `Value` From Property WHERE `Property` = " & "'" & arrPropertyList(i) & "'")
View.Execute
Set Rec = View.Fetch
If Not Rec Is Nothing Then
objLog.WriteLine arrPropertyList(i) & " = " & Rec.StringData(1)
End If
Next
Этот код будет отображать свойства msiчто я добавил в arrPropertyList.Дело в том, что я ищу свойства MST и получаю только MSI.Я знаю, что должен изменить запрос для доступа к таблице _TransformView при вызове DB.OpenView, но не уверен, как мне получить эту информацию!Любые знания, которыми вы можете поделиться, приветствуются.