I've configured ISAPI DLLs for IIS 7.x for years, but this is the first time I've tried with Windows 10, and it is not working, and I cannot find any descriptions of how to do it successfully. I am working in Windows 10 Professional, and IIS and supporting technologies are installed.
Here's is what I've done in the past. First, I open the Internet Information Services Manager console. I then select the default Web site and open Handler Mappings. I right-click ISAPI-dll in the Disabled section, select Edit Feature Permissions, and place a checkmark next to Execute.
Since my ISAPI dll is a 32-bit DLL, and I am running Windows 10 64-bit Professional, I select Application Pools in the Connections pane, right-click DefaultAppPool, and select Advanced Settings, and then set Enable 32-Bit Applications to True.
Finally, I open the ISAPI and CGI Restrictions applet. I then right-click in the ISAPI and CGI Restrictions pane and select Edit Feature Settings, after which I place a checkmark next to Allow unspecified ISAPI modules.
The Handler Mappings applet no longer has a disabled ISAPI-dll entry. However, with the Handler Mappings applet open, I have been able to select Edit Feature Permissions, and place a checkmark next to Execute. I have been able to allow 32-bit applications in the default application pool, but the ISAPI and CGI Restrictions applet is no where to be found.
The end result is that despite the configuration that I have successfully performed as described above I still cannot run my ISAPI DLL. I have placed the DLL in the same location as my Windows 7 setup (under c:\inetpub\wwwroot\appfolder), and use the same URL. It runs in Windows 7, but not in Windows 10.
How do I configure IIS in Windows 10 to run this ISAPI DLL?
Select the server node on the left hand side and double click click on “ISAPI and CGI Restrictions” on the right hand size. Right click in empty space and choose “Add…”. Add the path to your ISAPI dll, a description and select the check box so that it is allowed to execute. Click OK.
1. In the View List under Server Configuration, click Internet Information Services. 2. Right-click the Web Service Extensions explorer and click Add Web Service Extension.
ISAPI extensions are true applications that run on IIS and have access to all of the functionality provided by IIS. As an example of how powerful ISAPI extensions can be, ASP pages are processed through an ISAPI extension called ASP. dll.
Perhaps a silly question, but are you sure the "CGI" and "ISAPI Extensions" features are installed as part of the "Internet Information Services", "World Wide Web Services", "Application Development Features"? I just tested, and without these two features, you will see the Handler Mappings, but no disabled ISAPI-dll entry (and also no "ISAPI and CGI restrictions" applet).
With these features present, I can use IIS7 the same way in Windows 10 as I normally do with Windows Server 2012.
Here is how I got it to work on Windows 10 Pro with IIS installed.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With