ISAPI Filter not working on Windows 2008 R2 64-bit
I have developed an ISAPI filter which runs fine on 32-bit. I also compiled it for 64-bit using VS2005 cross-compiler. But when I am trying to run it on Windows 2008 R2 64-bit server with IIS-7.5, it does not work. It seems filter dll has been loaded but IIS is not doing anything with it. I used the following command to check this.
tasklist /m mydll*
Any 开发者_StackOverflow中文版suggestions what
Is there a particular reason you need the DLL to be 64 bit? I've been able to run 32 bit ISAPI filters on a 64 bit machine by doing the following:
Make sure the IIS application pool is set to allow 32 bit applications (this is off by default)
Register the DLL using the 32 bit version of regsvr32: C:\Windows\SysWow64\regsvr32.exe
Verify that the DLL isn't missing any dependencies by using Dependency Walker: http://www.dependencywalker.com/
For 64 bit, the problem is the registry: The problem I was for 32 bit the location of apache redirector in registry is: [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
but for 64 bitlocation must be: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
Note the "Wow6432Node".
so just re-create the 32 bit on the Wow6432Node and then you are set.
精彩评论