32 bits ISAPI filters on 64 bits IIS 7
Wednesday, July 30th, 2008Just a quick tip, in order to successfully run an ISAPI filter that is compiled for x86 32 bits windows on an x64 version of Windows Server 2008 or Vista, on IIS 7.0, some extra steps must be taken for it to work. I am no longer using the ISAPI filter that required this in production, having decided to can it and find an alternative, but I decided to document this here in case it is helpful to anyone.
So, for this to happen, after correctly adding your ISAPI Filter to your IIS site, enabling it, creating the virtual directory it requires if necessary, etc, you must create an Application Pool for it, or modify the default. You can do this by expanding your server in IIS Manager, and selecting Application Pools.
Once there, select the pool you want to modify, right click on it, and select “Advanced Settings“, and set “Enable 32-Bit Applications” to True. You might also want to select No Managed Code if that Pool is to be used exclusively by your ISAPI binary.
Also note that you can change a bunch of lovely settings there, such as processor affinity.
So, once this is done, your pool will be allowed to spawn a WOW64 environnement for the filter, and it will most likely run fine after that.

Against TCPA

