Cary Jensen
Cary Jensen

Reputation: 3791

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

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?

Upvotes: 9

Views: 56808

Answers (3)

J Muldoon
J Muldoon

Reputation: 31

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>

Upvotes: 3

Wesam
Wesam

Reputation: 1040

(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

Upvotes: 6

Bob Swart
Bob Swart

Reputation: 1298

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.

Upvotes: 18

Related Questions