Powershell を使用して MSI ファイルの内容を変更しようとしています。そのために、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' というメソッドが含まれていないため、メソッドの呼び出しに失敗しました」という同じエラーが表示されます。
どんな助けでも大歓迎です。
ありがとう。