I was helping a client upgrade their existing SharePoint Services 2 infrastructure to a shiny new 64 bit MOSS farm this week. In the process we came across a couple of problems, one trivial and one not so trivial. I've done many MOSS installs on 32 bit but this was my first 64 bit install.
Starting the installer gave the familiar response that ASP.NET wasn't enabled on IIS, please go away and fix it first. Now I am quite used to finding on a new server build that the ASP.NET v2.0.50727 extensions aren't enabled or registered on the IIS server, usually becuase the server admin has fervently applied all the updates from microsoft and hence the .NET framework has been installed before IIS. Anyhow, I opened a command prompt and issued my normal command:
[code:xml]
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -i
[/code]
only to get this answer:
[code:xml]
The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible.
[/code]
The solution is that on a 64 bit server there is a second framework folder in the Windows folder called framework64. Simple, eh? So correct command on 64 bit server is:
[code:xml]
c:\windows\microsoft.net\framework64\v2.0.50727\aspnet_regiis -i
[/code]
So that was fairly easy after a short google.
The second was a little more difficult to solve. Our client had some web parts that were in use in the WSS2 sites that they wanted to use in the upgraded sites, and when we installed them although the installer completed things didn't seem to run as they should. It transpires that the web parts are written on .Net 1.1 which didn't seem to be a problem in itself they should work under WSS3 and indeed we could find people with them running ok, but the difference was again the fact that we were running IIS on 64 bit Windows 2003. So by default IIS is running in 64 bit mode and as noted in the KB article below in order for IIS to use .net 1.1 you have to run it in 32 bit mode. At this point we took the decision to leave the webparts out of the final solution and keep IIS in 64 bit mode!
From KB Article ID 894435
IIS 6.0 supports both the 32-bit mode and the 64-bit mode. However IIS 6.0 does not support running both modes at the same time on a 64-bit version of Windows. ASP.NET 1.1 runs only in 32-bit mode. ASP.NET 2.0 runs in 32-bit mode or in 64-bit mode. Therefore, if you want to run ASP.NET 1.1 and ASP.NET 2.0 at the same time, you must run IIS in 32-bit mode.