How do I enable ISAPI DLLs for IIS 10 on Windows 10?

Cary Jensen picture Cary Jensen · Nov 2, 2015 · Viewed 35.8k times · Source

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?

Answer

Bob Swart picture Bob Swart · Nov 3, 2015

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.