Here’s another oddity which I stumbled upon recently whilst working on a 64-bit Windows 2003 machine so I thought I’d share it here.
I installed IIS on a newly installed 64-bit Windows 2003 R2 server and needed to configure it to support Asp.Net 1.1 applications. In order to do this I had to configure IIS to run in 32-bit mode as documented in this KB article How to switch between the 32-bit versions of ASP.NET 1.1 and the 64-bit version of ASP.NET 2.0 on a 64-bit version of Windows.
Once I had done this I went back into the Properties of the Default Web Site and I noticed that the ASP.Net tab seemed to have mysteriously vanished. After closing and re-opening and then checking the MMC a few times I still couldn’t find the ASP.Net tab. So I followed the same procedure on another 64-bit Windows 2003 server and got the same results – the Asp.Net tab disappeared after I configured the Enable32bitAppOnWin64 metabase property.
If you’ve got a 64-bit server you can test this out for yourself by following these steps.
Install IIS 6.0 on the server and then open the Properties of the Default Web Site. You should see the Asp.Net tab as shown here
If you now run the following command at this point :
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs get W3SVC/AppPools/Enable32bitAppOnWin64
you should see that it returns a value of false as shown below, which shows that IIS is currently running in 64-bit mode.
In order to configure IIS to run in 32-bit mode you need to execute this command :
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
You should now see that it returns a value of True as shown here. This means that IIS is now running in 32-bit mode on your server.
If you then go back to look at the properties of the Default Web Site you will see that the ASP.Net tab has gone.
I have to admit that this had me puzzled at first until I found a reference to this KB article – The “ASP.NET” tab of IIS Manager does not appear when you retrieve the properties for a virtual directory in IIS Manager
Apparently, this anomaly is due to the fact that the 32-bit version of IIS Manager is incompatible with 64-bit machines running Asp.Net
What this means in practical terms is that if you have a 64-bit server running IIS in 32-bit mode and you need to change the version of the .Net framework on a particular web site then you need to use the ASP.NET IIS Registration Tool (Aspnet_regiis.exe) to make those changes.
The use of this tool does present its own unique challenges which I’ll cover in a future post.