ISAPI筛选器无法在Windows 2008 R2 64位上运行

时间:2011-10-14 17:16:12

标签: filter windows-server-2008-r2 isapi

我开发了一个在32位上运行良好的ISAPI过滤器。我还使用VS2005交叉编译器将其编译为64位。但是,当我尝试在带有IIS-7.5的Windows 2008 R2 64位服务器上运行它时,它不起作用。似乎已经加载了过滤器DLL,但IIS没有对它做任何事情。我使用以下命令来检查它。

tasklist / m mydll *

有什么建议

2 个答案:

答案 0 :(得分:3)

是否有特殊原因需要DLL为64位?通过执行以下操作,我已经能够在64位计算机上运行32位ISAPI过滤器:

  • 确保IIS应用程序池设置为允许32位应用程序(默认情况下已关闭)

  • 使用32位版本的regsvr32注册DLL:C:\ Windows \ SysWow64 \ regsvr32.exe

  • 使用Dependency Walker验证DLL是否缺少任何依赖项:http://www.dependencywalker.com/

答案 1 :(得分:1)

对于64位,问题是注册表: 我的问题 对于32位,注册表中的apache重定向器的位置是: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Apache Software Foundation \ Jakarta Isapi Redirector \ 1.0]

但是对于64位位置必须是: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Jakarta Isapi Redirector \ 1.0]

请注意“Wow6432Node”。

所以只需在Wow6432Node上重新创建32位然后就可以了。