Проверка параметров MSI - PullRequest
2 голосов
/ 26 марта 2010

Есть ли способ получить все возможные параметры установки в коде .NET с помощью файла MSI для Windows? Мне нужно создать общий пользовательский интерфейс для настройки нескольких файлов MSI, неизвестных до времени выполнения, а затем установить их вместе за один раз.

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Технически вы можете указать любое публичное свойство в командной строке, нет. Вы также можете обновить частные свойства, используя преобразование MSI. Вы можете перечислить существующие свойства (общедоступные или частные), но невозможно узнать, что с ними делает сам установщик.

Если вы хотите узнать как, скачайте Windows SDK. Включено очень большое количество сценариев VBS, которые показывают, как использовать API установщика Windows. Оттуда вы можете просто использовать обычный SQL, например, Select * from Properties

1 голос
/ 27 марта 2010

Пакеты установщика Windows - это база данных, которая может быть легко отражена. WiX DTF имеет пространство имен Microsoft.Deployment.WindowsInstaller с классами, которые могут выполнить это. Оттуда вы просто пишете свой .NET-код, чтобы удовлетворить все ваши требования и просто быть очень рефлексивным / ориентированным на плагин, как вы это делаете.

Есть несколько проектов начальной загрузки (CodePlex), которые делают это, но используют предварительно сгенерированные файлы XML для описания MSI.

...