Я пытаюсь изменить содержимое файла MSI с помощью Powershell. Для этого я создаю экземпляр WindowsInstaller.Installer, затем использую $ installer.OpenDatabase и $ database.OpenView. Аналогичная функциональность работает в VBScript, и я видел в Интернете образцы, которые, похоже, работают.
$installer = new-object -comobject "WindowsInstaller.Installer"
$database = $installer.OpenDatabase("C:\Temp\Setup.msi", 1)
Для приведенного выше кода я получаю сообщение об ошибке «Вызов метода завершился неудачно, потому что [System .__ ComObject] не содержит метода с именем 'OpenDatabase'».
$installer = new-object -comobject "WindowsInstaller.Installer"
$database = $installer.InvokeMethod("OpenDatabase","C:\Temp\Setup.msi", 1)
Если я пытаюсь использовать $ installer.InvokeMethod, я получаю ту же ошибку «Вызов метода завершился неудачно, потому что [System .__ ComObject] не содержит метода с именем 'InvokeMethod'».
Любая помощь приветствуется.
Спасибо.