After struggling for a week trying to get various 64bit components to run under IIS6 on our new servers, I was banging my head against the wall. Why oh why doesn’t Microsoft make these things easy?
So with a deep breath I tried tackling running IIS in 32bit mode again… and discovered a “gotcha” that probably caused our issues the first time around.
It appears when you run the “fix” that turns 64bit IIS into 32bit, Windows isn’t smart enough to realise “yes I really did mean 32bit” and promptly breaks IIS completely – resulting in the ever so popular “Service not available” message for all your precocious web sites. Why? Well, it seems this is due to the .NET framework running in 64bit, regardless of the fix. Thankfully (!!!!) you can install .NET from the command line with 32bit-ness in place…
- To enable 32bit IIS mode run: cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
- Restart IIS (at this point IIS will probably stop serving sites)
- Reinstall the .NET framework in 32bit mode: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable
- Restart your server
Very frustrating. We’ve yet to full test this, but we applied the change on our test server and all our sites are working. Tomorrow we’ll add some 32bit components and see what happens…
|