MSIファイルをMemoryStream(または同様のもの)に読み込んで変更したいのですが。MSIを破壊せずにこれを行う最も簡単な方法は何ですか?
私ができる必要があるのは、MSIのプロパティの1つの値を変更することだけです。.Netで何かをしたいのですが、他のプラットフォームを利用できます。
アップデート:
これは、WindowsプラットフォームSDK、MicrosoftWindowsインストーラーオブジェクトライブラリおよび名前空間WindowsInstallerへのCOM参照を使用した私の作業コードです。
Installer installer = Activator.CreateInstance(Type.GetTypeFromProgID("WindowsInstaller.Installer")) as Installer;
Database msi = installer.OpenDatabase("WixTest.msi", MsiOpenDatabaseMode.msiOpenDatabaseModeTransact);
View view = msi.OpenView("update `Property` SET `Property`.`Value`='99' where `Property`='USERID'");
view.Execute(null);
msi.Commit();