You have a Windows 64-bit server and need to install the 32-bit version of SQL Server 2005 Reporting Services on this machine. In this tip I will walk through the steps you need to take for this installation.
I've seen customers that have either Windows Server 2003 or 2008 64-bit machines, but needed to install a 32-bit version of SQL Server 2005 Reporting Services. This would require installing the 32-bit version of ASP.NET 2.0 running on top of IIS.
By default, IIS runs 64-bit on a 64-bit Windows. While Microsoft recommends running 64-bit applications on 64-bit OS to take full advantage of the 64-bit platform, some customers might need to re-use their existing license instead of buying a new one, thus, having to deal with this situation. You'll see the error message below when you attempt to install SQL Server 2005 Reporting Services 32-bit on a Windows Server 64-bit
Configuring Windows Server 2003 64-bit to run IIS 6 on 32-bit
Installing SQL Server 2005 Reporting Services 32-bit on a Windows Server 2003 64-bit requires having both ASP.NET 2.0 32-bit and IIS 6.0 configured to run 32-bit web applications. With Windows Server 2003 Service Pack 1, IIS 6.0 can be enabled to run 32-bit applications on a 64-bit Windows using the Windows32-On-Windows64(WoW64) compatibility layer. This makes it possible to run ASP.NET 32-bit and other 32-bit web applications as well as allow creation of 32-bit worker processes within IIS. The disadvantage of this is that, once you've configured IIS 6.0 to run on 32-bit, you won't be able to run other 64-bit web applications, making it a dedicated server for your 32-bit web applications. It is important to configure IIS prior to installing SQL Server 2005 Reporting Services as the installation process will throw an error like the one in the screenshot above.
To enable IIS 6.0 to run 32-bit web applications on a 64-bit Windows, navigate to the %windir%\Inetpub\AdminScripts directory and run the adsutil.vbs script with the following parameters.
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
This will enable IIS 6.0 to run 32-bit web applications - these steps are also outlined in this Microsoft TechNet article which applies to just about any 32-bit web applications, including ASP.NET. You can, then, install SQL Server 2005 Reporting Services 32-bit which will install the corresponding ASP.NET 2.0 as part of the .NET Framework installation. If, however, you already have the .NET Framework installed on the server prior to installing SQL Server 2005 Reporting Services, you will need to manually install ASP.NET 2.0 32-bit on IIS 6.0 after it has been configured to run 32-bit web applications, otherwise, you'll get the same error as the one in the above screenshot.
Navigate to the %WINDIR%\Microsoft.NET\Framework\v2.0.50727 folder (the 64-bit version of the .NET Framework will be at the %WINDIR%\Microsoft.NET\Framework64\ folder). Run the aspnet_regiis.exe utility on the command line.
You can now proceed to install SQL Server 205 Reporting Services 32-bit on your Windows Server 2003 64-bit running IIS 6.0.
Configuring Windows Server 2008 64-bit to run IIS 7 on 32-bit
In case you have a Windows Server 2008 64-bit machine, there's a bit more work to do than just installing IIS and configuring it in 32-bit mode. SQL Server 2005 Reporting Services depends on the IIS 6 or earlier metabase. So, even though you already have IIS 7 installed, you will still encounter an error similar to the one in the below screenshot.
The good thing about IIS 7 is that it supports IIS 6 backward compatibility thru the IIS 6 Metabase Compatibility and IIS 6 WMI Compatibility. Installing these two would also configure the IIS Default Application Pool to run on 32-bit similar to running the adsutil.vbs script for Windows Server 2003. To install these two options, you can either add them in the Add Role Services in IIS 7, in case it is already installed, or configure them by using the Add Roles option under Server Manager. In my case, I already have IIS 7 installed so I just added the IIS 6 Metabase Compatibility and IIS 6 WMI Compatibility options using the Add Role Services option.
If, for some reason, this does not configure the Default Application Pool to run on 32-bit, you can change it by opening the Properties window of the application pool and setting the Enable 32-bit Applications property to True. Reporting Services will install on the root web site and will use the Default Application Pool by default. The good thing about this is that you can run both 64-bit and 32-bit web applications within the same server by simply configuring the application pool separately.
After installing SQL Server 2005 Reporting Services, make sure you apply the latest service packs and cumulative updates. A more detailed approach in installing and configuring SQL Server 2005 Reporting Services on a Windows Server 2008 machine can be found on this Microsoft KB article
- Check your SQL Server 2005 Reporting Services installation and make sure you have the appropriate media for the OS platform. If not, you can always configure IIS to run in 32-bit mode
- Check out this Microsoft KB article on installing and configuring SQL Server 2005 Reporting Services on a Windows Server 2008 machine
- Read more Reporting Services tips
Last Update: 11/13/2009
About the author
View all my tips