Reputation: 910
I am running IIS 7.5 in Windows 7 and have already gone into "Turn Windows features on or off" and enabled ASP in "Internet Information Services/World Wide Web Service/application Development Features". Once I did that I started getting an HTTP 404 error saying:
The page you are requesting cannot be served because of the extension
configuration. If the page is a script, add a handler. If the file should be
downloaded, add a MIME map.
So I took this to mean that I needed to add a mapping to *.asp in the Handler mappings and the handler is mapped to C:\Windows\System32\inetsrv\asp.dll. But when I try to load the page I get a server error saying:
Could not load type 'C:\Windows\system32\inetsrv\asp.dll'.
Does anyone know what is going on here or how to handle this?
One other thing I should mention is that I have already enabled 32-Bit application in my Application pool and set ASP to send errors to browser, but neither of those things has resolved the issue or given me more information.
Please note this is ASP Classic not ASP.NET, ASP.NET is working just fine for me.
Upvotes: 19
Views: 120608
Reputation: 980
Make the file accessible to the Authenticated Users group. Right click your virtual directory and give the group read/write access to Authenticated Users.
I faced issue on windows 10 machine.
Upvotes: 0
Reputation: 469
If you are running IIS 8 with windows server 2012 you need to do the following:
from then on your application should start running
Upvotes: 23
Reputation: 4032
If you get the above problem on windows server 2008 you may need to enable ASP. To do so, follow these steps:
Add an 'Application Server' role:
Then, add a 'Web Server' role:
Upvotes: 4
Reputation: 289
Click ok and your web sites will load properly.
Upvotes: 28
Reputation: 1420
I found some detailed instructions here: http://digitallibraryworld.com/?p=6
The key piece of advice seems to be, don't use the 64-bit ASP.DLL (found in system32) if you've configured the app pool to run 32-bit applications (instead, use the 32-bit ASP.DLL).
Add a script map using the following setting:
Request Path: *.asp
Executable: C:\Windows\system32\inetsrv\asp.dll
Name: whatever you want. I named my Classic ASPThe executable above is 64 BIT ASP handler for your asp script. If you want your ASP script to be handled in 32 bit environment, you need to use executable from this location:
C:\Windows\SysWOW64\inetsrv\asp.dll
.
Of course, if you don't need to load any 32-bit libraries (or data providers, etc.), just make your life easier by running the 64-bit ASP.DLL!
Upvotes: 7
Reputation: 910
So it turns out that if I add the Handler Mappings on the Website and Application level, everything works beautifully. I was only adding them on the server level, thus IIS did not know to map the asp pages to the IsapiModule.
So to resolve this issue, go to the website you want to add your application to, then double click on Handler Mappings. Click "Add Script Map" and enter in the following information:
RequestPath: *.asp
Executable: C:\Windows\System32\inetsrv\asp.dll
Name: Classic ASP (this can be anything you want it to be
Upvotes: 11