Извлечь условия установки из MSI (C #) - PullRequest
0 голосов
/ 22 февраля 2011

У нас есть большое приложение на C #, которое разворачивается с использованием MSI-файла, созданного с помощью Visual Studio 2010 (или MSBuild.exe) из файла .VDProj.При нормальной работе установщик .MSI проверит, установлены ли определенные части программного обеспечения и соответствуют ли они минимальной версии, и выдаст полезное сообщение об ошибке и завершит работу, если условия версии не выполнены.

Это все работаетхорошо.Тем не менее, мы экспериментируем с использованием msiexec.exe для автоматического запуска существующего установщика.Если дополнительное программное обеспечение, требуемое для MSI, уже установлено, то мы возвращаем код ошибки 0 из msiexec, и аналогично, если MSI дает сбой, потому что другое программное обеспечение не существует в системе или не соответствует требованию минимальной версии, мы получаемненулевой код ошибки назад.

Есть ли способ программно опросить файл .MSI и узнать, каковы его условия запуска?Я попытался поэкспериментировать с msiexec для извлечения файлов из .MSI, но я до сих пор не вижу никакого файла конфигурации, в котором перечислены минимальные требования к версии для установки.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 22 февраля 2011

Опрос MSI, чтобы увидеть условия внутри, действительно даст вам список упомянутых условий, но не какое из них не удалось.Возможно, вы захотите запустить msiexec с ключом / L, чтобы переключиться, чтобы улучшить ведение журнала (точный синтаксис см. В документе.

Если списка условий достаточно, я бы посоветовал взглянуть наOrca ( MSDN ), простой способ заглянуть в MSI-файлы.

...