Есть ли надежный способ проверить, зарегистрирован ли ASP.NET 4.0 в IIS 7.5 программно? Мне нужно протестировать его в установщике в качестве предварительного условияперед началом установки приложения ASP.NET.
Если ASP.NET 4.0 не зарегистрирован в IIS, в дальнейшем при установке только что установленное приложение не может быть запущено и возвращает 500 внутреннюю ошибку сервера (и уже поздно решать проблему). Вместо этого я хочу показать некоторое предупреждение (и подсказать, как решить проблему) перед началом каких-либо шагов установки. Но надежного решения пока не найдено.
Насколько мне известно, чтение записей реестра иногда может работать некорректно. Итак, теперь я запускаю aspnet_regiis.exe -lv
для получения списка версий (как предложено здесь) и анализирую вывод. Но даже если .NET зарегистрирован неправильно, мой тест (ложно) завершается успешно, потому что вывод (содержит версию 4.0):
2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
(Win7 32bit)
Running aspnet_regiis.exe -ir В этом случае
может отремонтировать его.
Это похоже на этот вопрос, но мне нужно проверить его программно.
У вас есть идеи или опыт?