Windows 10 如何在Windows 10上为IIS 10启用ISAPI DLL?

Windows 10 如何在Windows 10上为IIS 10启用ISAPI DLL?,windows-10,isapi,iis-10,Windows 10,Isapi,Iis 10,多年来,我已经为IIS 7.x配置了ISAPI DLL,但这是我第一次尝试使用Windows 10,但它不起作用,而且我找不到任何关于如何成功执行此操作的说明。我在Windows 10 Professional中工作,安装了IIS和支持技术 这是我过去所做的。首先,我打开Internet信息服务管理器控制台。然后选择默认网站并打开处理程序映射。我右键单击“禁用”部分中的ISAPI dll,选择“编辑功能权限”,然后在“执行”旁边打勾 由于我的ISAPI dll是32位dll,并且我正在运行Win

多年来,我已经为IIS 7.x配置了ISAPI DLL,但这是我第一次尝试使用Windows 10,但它不起作用,而且我找不到任何关于如何成功执行此操作的说明。我在Windows 10 Professional中工作,安装了IIS和支持技术

这是我过去所做的。首先,我打开Internet信息服务管理器控制台。然后选择默认网站并打开处理程序映射。我右键单击“禁用”部分中的ISAPI dll,选择“编辑功能权限”,然后在“执行”旁边打勾

由于我的ISAPI dll是32位dll,并且我正在运行Windows 10 64位Professional,因此我在连接窗格中选择应用程序池,右键单击DefaultAppPool,选择高级设置,然后将启用32位应用程序设置为True

最后,我打开ISAPI和CGI限制小程序。然后在ISAPI和CGI限制窗格中单击鼠标右键,选择“编辑要素设置”,然后在“允许未指定的ISAPI模块”旁边打勾

处理程序映射小程序不再具有禁用的ISAPI dll项。但是,在Handler Mappings小程序打开的情况下,我可以选择“编辑功能权限”,并在“执行”旁边打上复选标记。我已经能够在默认应用程序池中允许32位应用程序,但是在哪里找不到ISAPI和CGI限制小程序

最终的结果是,尽管我已经成功地执行了如上所述的配置,但我仍然无法运行我的ISAPI DLL。我已将DLL放置在与Windows 7安装程序相同的位置(在c:\inetpub\wwwroot\appfolder下),并使用相同的URL。它在Windows7中运行,但在Windows10中不运行


如何在Windows 10中配置IIS以运行此ISAPI DLL?

可能是一个愚蠢的问题,但您确定“CGI”和“ISAPI扩展”功能是作为“Internet信息服务”、“万维网服务”、“应用程序开发功能”的一部分安装的吗?我刚刚测试过,没有这两个特性,您将看到处理程序映射,但没有禁用的ISAPI dll条目(也没有“ISAPI和CGI限制”小程序)

有了这些功能,我可以在Windows 10中使用IIS7,就像在Windows Server 2012中一样。

(添加一些视觉效果)如果您是在本地计算机上而不是在Windows Server上执行此操作,那么 控制面板-->程序和功能-->打开或关闭windows功能-->


以下是我如何让它在安装了IIS的Windows 10 Pro上运行的

  • 检查您是否安装了“ISAPI扩展”功能
  • 点击网站,选择“Handler Mappings”并添加模块(或者,如果对您的情况合理,您可以启用all)
  • 从右侧窗格(操作)中选择“编辑功能设置”,并启用读取、脚本和执行
  • 完成上述操作后,单击左侧窗格中的服务器节点
  • 选择“ISAPI和CGI限制”
  • 单击Add,然后输入ISAPI扩展的windows服务器路径名
  • 选择“允许执行扩展路径”,单击“确定”
  • 注意,这将把一个web.config放在同一个目录中


当然不是一个愚蠢的问题。我以为我已经安装了所有必要的Windows功能,就像我过去多次安装的一样。但是,在阅读了你的答案后,我又看了一遍。我确实没有选中Internet信息服务|万维网服务|应用程序开发功能| ISAPI扩展(以及同一组中的CGI)。谢谢,鲍勃,这是另一个很棒的收获!谢谢你的图片。我相信它会被欣赏的。请不要在评论中添加信息
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <directoryBrowse enabled="false" />
  </system.webServer>
</configuration>