Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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]

share|improve this question

2 Answers 2

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

share|improve this answer
    
How can one do what you said? –  user145400 Sep 25 at 0:01
1  
@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 at 1:09

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.