Можно проверить версию Windows и это однозначно укажет на версию IIS. Берем версию ОС из Environment.OSVersion. Убеждаемся что PlatformID=PlatformID.Win32NT и затем выполняем сопоставление:
OSVersion = 5.0 => Windows 2000 => IIS 5.0
OSVersion = 5.1 => Windows XP => IIS 5.1
OSVersion = 5.2 => Windows 2003 => IIS 6
OSVersion = 6.0 => Windows Vista => IIS 7
Недостатом метода очевиден, надо вручную поддерживать таблицу соответствий.
Удалось найти еще один способ. В ветке реестра HKLM\SOFTWARE\Microsoft\InetStp есть два DWORD значения MajorVersion и MinorVersion с явным номером версии. Не знаю только насколько это надежная информация. (via
Check IIS Version Before Installing)
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Вообщем надо как либо программно определить версию IIS.
Есть кусок кода на WMI, он работоспособен только с IIS 6.0. Надо проверить версию предже чем запускать этот код. Код не рушить ничего с неправильным IIS но в лога просто постоянно пишеться ошибка, а так, как это просто внешний модуль HelthMonitor, то начальство не хочеть видеть в логе ошибки если просто нельзя получить данные.
Веб сервис или чттение конкретного места реестра наименее предпочтительные варианты. Лучше как либо через какие либо API, да через тот же WMI что-ли...
Искал челый день ничего не нашел, может вопросы неправильно задавал.
Здравствуйте, bazile, Вы писали:
B>Можно проверить версию Windows и это однозначно укажет на версию IIS. Берем версию ОС из Environment.OSVersion. Убеждаемся что PlatformID=PlatformID.Win32NT и затем выполняем сопоставление:
B>OSVersion = 5.0 => Windows 2000 => IIS 5.0
B>OSVersion = 5.1 => Windows XP => IIS 5.1
B>OSVersion = 5.2 => Windows 2003 => IIS 6
B>OSVersion = 6.0 => Windows Vista => IIS 7
B>Недостатом метода очевиден, надо вручную поддерживать таблицу соответствий.
Кроме таблицы проблема в том, что на 2003 и на XP как говорят нашы спецы есть много вариантов установки.
Не верить им у меня не получиться
Принято считать что они в таких вопросах непогрешимы ( я не прикалываюсь они и правда не сильно то ошибаются обычно )
B>Удалось найти еще один способ. В ветке реестра HKLM\SOFTWARE\Microsoft\InetStp есть два DWORD значения MajorVersion и MinorVersion с явным номером версии. Не знаю только насколько это надежная информация. (via Check IIS Version Before Installing)
B>
данное сообщение получено с www.gotdotnet.ru
B>ссылка на оригинальное сообщение
Реестр более интересно, скорее всего буду пользовать в купе оба варианта проверки + если запрос упал а не перед запросом
Мол раз не прошло то будем разбираться почему
Спасибо.