Iis 7 ISAPI扩展在IIS7上提供404

Iis 7 ISAPI扩展在IIS7上提供404,iis-7,iis-7.5,isapi,isapi-extension,Iis 7,Iis 7.5,Isapi,Isapi Extension,我正在运行64位windows 7,并尝试加载一个ISAPI扩展,我正忙于在本地IIS7机器上编写 我将该位置添加到“ISAPI和CGI限制”下的DLL中 我让应用程序池识别32位应用程序(扩展是用Delphi编写的) 我确保“Everyone”对目录/dll具有完全权限 我确保在“处理程序映射”部分中“允许”ISAPI dll,并将其设置为“读取/脚本/执行”权限 我仍然在IIS7中得到404.0错误 我已经检查了MIME映射是否设置为处理*.dll,并且在同一台机器上的不同站点上运行了一

我正在运行64位windows 7,并尝试加载一个ISAPI扩展,我正忙于在本地IIS7机器上编写

  • 我将该位置添加到“ISAPI和CGI限制”下的DLL中
  • 我让应用程序池识别32位应用程序(扩展是用Delphi编写的)
  • 我确保“Everyone”对目录/dll具有完全权限
  • 我确保在“处理程序映射”部分中“允许”ISAPI dll,并将其设置为“读取/脚本/执行”权限
我仍然在IIS7中得到404.0错误

我已经检查了MIME映射是否设置为处理*.dll,并且在同一台机器上的不同站点上运行了一个工作正常的ISAPI扩展

我甚至使用了这个ISAPI扩展,它给了我404,并将它放在工作网站的根目录中(另一个DLL所在的位置),然后将“ISAPI和CGI限制”重新映射到它。仍然给我404.0,即使我可以在同一时间运行另一个DLL,或者直接在之后运行,这很好


知道WTF在干什么吗

事实证明,当您收到404.0文件未找到错误时,当您将其他所有内容设置为正常工作时,这意味着您正在使用的ISAPI扩展也正在引用(即,包括)另一个DLL。如果没有这个DLL,它将是404.0


此外,如果您忘记“允许”特定的ISAPI DLL(即使允许执行ISAPI/CGI),您将得到的错误消息是404.2:)

对于64位,问题是注册表:对于32位,问题是apache重定向器在注册表中的位置是:[HKEY\U LOCAL\U MACHINE\SOFTWARE\Apache软件基金会\Jakarta Isapi重定向器\1.0]

但对于64位,位置必须为:[HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Apache SOFTWARE Foundation\Jakarta Isapi Redirector\1.0]

请注意“WOW6432节点”


因此,只要在WOW6432节点上重新创建32位,然后就可以设置了。

我知道这个问题已经得到了回答,但由于我昨天刚刚遇到了这个问题,我还想指出,如果应用程序目录没有执行权限,404.0是您得到的响应。这不仅仅是因为绑定错误