Как установить дополнение к IIS, как я могу проверить, доступен ли поставщик WMI IIS? - PullRequest
0 голосов
/ 11 января 2011

Очевидно, что часть управления IIS - поставщик IIS WMI - устанавливается отдельно от среды выполнения IIS.

Я хотел бы создать установщик для надстройки к IIS, и я знаю, как проверить наличие среды выполнения IIS в проекте WIX.Но установщик должен выполнять различные функции управления, WMI, и для этого ему нужен не только IIS, но и поставщик WMI для IIS.Который, как я сказал, может присутствовать или не присутствовать.

В проекте WIX Как проверить наличие поставщика WMI IIS и как предоставить пользователю разумный диалог, если поставщик WIS IIS отсутствует?


В программе установки уже есть несколько пользовательских действий MSI, реализованных в Javascript, и я могу использовать

var iis = GetObject("winmgmts:root\WebAdministration");

..., чтобы проверить существование поставщика WMI.Сбой (выброс), если там нет провайдера WMI.Я полагаю, что я мог бы использовать это для установки свойства, а затем проверить это свойство в условии в начале файла Product.wxs.

это сработает?какие-либо другие предложения?

Ответы [ 2 ]

0 голосов
/ 20 августа 2011

Да, тестирование экземпляра объекта через прозвище будет работать.Это разумная стратегия, лучше, чем копаться в реестре.Это обеспечивает правильный результат, все время.Просто перехватите исключение, которое возникает, если поставщик WMI недоступен.

0 голосов
/ 12 января 2011

Полагаю, лучшим способом для этого по-прежнему является просмотр реестра для соответствующей настройки.Другой вопрос, не всегда легко найти правильный.:)

Например, моему установщику требуется совместимость с IIS6 (для машин с IIS 7), в частности, совместимость с IIS 6 WMI.Этот параметр находится в папке HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ InetStp \ Components, в значении под названием WMICompatibility.Итак, все, что мне нужно сделать, это создать элемент RegistrySearch для поиска этого значения и проверить, равно ли оно 1.

Чтобы найти правильную настройку, я бы поискал ключ всеПараметры IIS находятся в разделе (они могут отличаться для каждой версии IIS, я не уверен здесь), включите необходимый поставщик IIS WMI и посмотрите, что было изменено в реестре.Я подозреваю, что программное обеспечение монитора реестра может сильно помочь.

...