7

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?

Cary Jensen
  • 3,751
  • 3
  • 32
  • 55

3 Answers3

16

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.

Bob Swart
  • 1,278
  • 7
  • 6
  • 2
    Certainly not a silly question at all. I thought I have installed all necessary Windows features, just as I have many times in the past. However, after reading your answer, I looked again. I had indeed failed to checkmark Internet Information Services | World Wide Web Services | Application Development Features | ISAPI Extensions (as well as CGI in that same group). Thanks, Bob, for another great catch! – Cary Jensen Nov 03 '15 at 07:53
3

Here is how I got it to work on Windows 10 Pro with IIS installed.

  • Check that you have installed the “ISAPI Extensions” feature.
  • Click on the website and select "Handler Mappings" and add the module (or you can enable all if that is reasonable for your case.
  • Select the “Edit Feature Settings” from the Right pane(Actions) and enable read, script, and execute.
  • With the above done click on the Server node in the left pane.
  • Select “ISAPI and CGI Restrictions”
  • Click on Add, and enter the windows server pathname of your ISAPI Extension.
  • Select “Allow extension path to execute” , click OK
  • Note that this will put a web.config in the same directory. it should look like this ;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <directoryBrowse enabled="false" />
  </system.webServer>
</configuration>
Simon Zyx
  • 6,503
  • 1
  • 25
  • 37
J Muldoon
  • 31
  • 1
2

(adding some visuals)If you are doing this on your local machine not a windows server then control panel --> programs and features --> Turn windows features on or off -->

enter image description here

Wesam
  • 932
  • 3
  • 15
  • 27