Есть ли у кого-нибудь пуленепробиваемый метод (в идеале на С#!) определения правильности регистрации ASP.Net на вашем компьютере?
Я пишу программу установки для приложения ASP.Net, и мне нужно знать, следует ли запускать aspnet_regiis
.
На данный момент мы всегда запускаем aspnet_regiis
- I, чтобы убедиться, что ASP.Net зарегистрирован правильно, но это нежелательно, поскольку вызывает перезапуск всех пулов приложений.
В Интернете есть несколько полезных страниц (например, http://www.codeproject.com/KB/cs/iisdetection.aspx), но, как показывают комментарии к этому сообщению, довольно часто реестр сообщает, что ASP.Net зарегистрирован, но aspnet_regiis
все еще необходимо запустить для настройки IIS. Пользователь «JonB» опубликовал что-то похожее на то, что это должно работать для IIS6 (и IIS7 с включенной совместимостью с IIS6), но мне все равно нужно написать отдельный код обнаружения для IIS 7 с отключенным режимом совместимости с IIS6.
Так кто-нибудь уже расколол этот орех? Если это так, сообщите нам об этом, так как это сэкономит время. В противном случае я попытаюсь перенести решение C++ на C# для IIS6, а для IIS7 я посмотрю раздел <isapiCgiRestriction>
в applicationHosts.config
для
<add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
Последний вопрос...
Кто-нибудь знает, в Windows 7 все то же самое или другое?