32bit web app inside 64bit website – IIS 7.0
Recently when deploying Microsoft Dynamics CRM 4.0 we had the need to “rollup” all the customisations and host them underneath the main CRM website so that it could be successfully published externally. One issue that we had with this is that the customisations needed were 32bit aspx pages and so needed to be run with a 32 bit application pool whereas the server and therefore the main website was 64bit including all the CRM functions.
After hunting around on the net for a bit and some trial and error I worked out what we needed to do to get it working correctly. I will go more in-depth into the CRM specifics in the next post but I thought in this post I’d just cover the basics of setting up an nested 32bit web application inside a 64bit site…
Creating 32bit application pool
- Open IIS manager
- right click on “Application Pools” and pick “Add Application Pool”
- give it a name & pick your version of .net
- After creating your new web app, right click on it and open “Advanced Settings”
- Near the top of the list is a setting “Enable 32-Bit Applications”, set that to True
- From this screen you can also change the Identity (user account it runs under) etc…
Nesting Application Pools
- Now you can expand your website and right click at the folder (or site) level depending on where you want your application to sit.
- Select “Add Application” (or if you want to convert a folder to an application pick “Convert to Application”)
- Enter the Alias (path you want it to appear under) and pick the web application you created in the earlier steps as well as the path to the folder on disk.
Settings inheritance – nested web applications will inherit any custom settings from their parents. This will include any 64bit modules (as in the case of CRM) or Handler mappings from the parent that might not apply to the new application that you have created. I had a few of these issues when running the 32bit CRM customisations under Dynamics 4.0 64bit (see next post).
You can remove any unwanted modules by either editing the web.config file in your new directory or via the IIS admin console:
[tags]server 2008, iis 7.0, CRM 4.0[/tags]