Does anyone have a bulletproof method (in C# ideally!) of determining if ASP.Net is properly registered on your computer ?
I am writing an installation program for an ASP.Net application and I need to know whether I should run aspnet_regiis
.
At the moment we always run aspnet_regiis
- I to ensure that ASP.Net is registered properly but this undesirable because it prompts a restart of all the application pools.
There are several useful pages on the web (e.g. http://www.codeproject.com/KB/cs/iisdetection.aspx) but as the comments in that post show, it is quite often the case that the registry reports that ASP.Net is registered but aspnet_regiis
still needs to be run to configure IIS. The user 'JonB' posted something that looks like it should work for IIS6 (and IIS7 with IIS6 compatibility enabled) but I would still need to write separate detection code for IIS 7 with IIS6 compatibility mode disabled.
So has anyone cracked this nut already? If so please let us know as it will be a time saver. Otherwise I will try and port the C++ solution into C# for IIS6 and for IIS7 I will look examine the <isapiCgiRestriction>
section of applicationHosts.config
for
<add path="%windir%Microsoft.NETFrameworkv2.0.50727aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
Last question...
Does anyone know if things are the same/different in Windows 7?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…