Я пытаюсь получить информацию из MSI-файла
Я использовал:
Type installerType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
object installerInstance = installerType.CreateInstance(installerType);
Мне хорошо известна опция добавления ссылки на файл C: \ windows \ system32 \ msi.dll и приведения экземпляра installerInstance к WindowsInstaller.Install, но поскольку мое приложение будет работать во многих различных операционных системах (xp, 2003, Vista, 7, 2008) и процессоры (x86 - x64), я хочу динамически использовать экземпляр.
Проблема в том, что я не могу получить доступ к базовому типу "WindowsInstaller.Installer", только System .__ Методы ComObject видимы и исполняемы.
Как я могу динамически вызывать методы, такие как "OpenDatabase" и т. Д ... из базового объекта?