4

In IIS7, we have an application which comes supplied as a .dll file. Application is known to work in II6 on a different server.

When browsing the URL of this application, it sends the .dll itself as a binary file (giving prompt of "Download: do you want to open or save this file" in the browser). For the application to work, we want ISAPI to run the DLL and send the resulting HTML.

What could be the problem? What needs to be configured to make this work? We've tried adding the specific .dll file to both IsApiFilters or to a Script Map in HandlerMappings (using handler IsApiModule). Module list shows that IsApiModule is Loaded.

The server-wide list of Handler mappings shows ISAPI-dll in the Disabled section with Path:"*.dll", Path type: "file". Is this entry relevant? Can it somehow be moved into the Enabled section?

[using IIS Manager GUI to edit settings]

OJW
  • 249
  • 1
  • 4
  • 15

2 Answers2

3

You need to enable "ISAPI-dll" for it to handle *.dll files and not serve it statically

user85569
  • 178
  • 1
  • 5
  • How can one do what you said? – user145400 Sep 25 '14 at 00:01
  • 2
    @user145400, not sure exactly the UI for IIS7, but in IIS 8.5 open IIS Manager and navigate to your web site in the treeview, double-click the Handler Mappings feature. If you see a section at the top of the grid titled "Disabled" with ISAPI-dll in the row beneath it then executing ISAPI dlls directly is locked out. Just click the Edit Feature Permissions... link and check Execute, then click OK. Your site should allow execution of the ISAPI dll without trying to serve it down to you as a file. – user559402 Sep 26 '14 at 01:09
  • In my case, I did all the necessary items, but I ended up having to remove the IIS feature, reinstall it, then apply the changes. Not sure how IIS got corrupted. – Slogmeister Extraordinaire Jul 13 '18 at 14:07
0

In addition to @user85569's answer, there's a possibility that you're using chrome which will download a file containing the text output of the filter, and if you don't open that file you'd think it was actually the dll being downloaded.

It might be working properly; Try with IE.

user145400
  • 101
  • 1