Classic ASP app not working in IIS 8.5 - iis

I've moved my classic asp app to win 2012 R2 (IIS 8.5). This app uses COM component. I've registered this component using regsvr32 and also exported older components from II 6 to II 8.5. I can see those components in control pane->component services.
This app is not working properly. Code include Server.CreateObject("myCOM"); looks like it works but when I try to get objArgs["prop1"]; it doesn't work.
I see this error:
"Server.CreateObject failed while checking permissions. Access is
denied to this object."
What could be potential issue?
PS: I've installed ASP/server side includes & others.

What are the permissions on the DLL set to? That is, can the user that IIS is running as access the file?
Did you register it as both 32- and 64-bit?
Can you create the object from a test VB script (running from an elevated command prompt, creating from a VBS script or a PowerShell script)?
"Access Denied" usually means exactly what it says on the tin. I'd guess that the IIS user (or that used by the app pool for your site) doesn't have correct permissions on the DLL.

I am having similar problem trying to run an ASP site using ASPMail with PGP on Windows 2012R2. The mailer runs fine, and PGP works if I run it inside PowerShell, but the mailer can no longer use its PGP option, which is running pgp.exe from inside an ASP page.

Turn on ASP from Internet Information Services -> World Wide Web Services -> Application Devlopment Features -> ASP.

Related

Page keeps loading forever

Im using IIS 8.5 on Windows Server 2012 R2 so I add my Web Api but when I try to view the site it stays in a loading state like this:
Do not show any message or error just stays loading, I think that i miss some configuration or feature in my IIS but I don't know which one.
Edit: I use .Net framework, it is a REST .net web api like this reference, the IIS have installed .Net versions 3.5 and 4.5, it's IIS not the express and the default IIS website runs fine.
I would really appreciate any help.
Try to reduce the timeout settings to a minimum level, say 10 seconds.
See if it throws a Timeout error.
Without much information from your side its hard to judge.
Perhaps it could be an external service you are trying to access(Web service) or a DB connection?
Please check if the application pool you assigned to your solutions runs under the correct version of .net framework and in integrated mode. I had similar issues when trying to run an mvc app in classic mode. Check this out.
EDIT 1 - Reconfiguring IIS
If problems persists then try the ASP.NET IIS Registration tool. Execute the followig command as administrator:
aspnet_regiis -i
At the end of this post the different locations for aspnet_regiis are described. You should select a .NET Framework version corresponding to that of your project, run aspnet_regiis and assign the proper application pool to your app.

Moving Classic ASP between two IIS 6 machines with VB6 DLL

I have just started to debug a Classic ASP website. The old development environment was running in a VM machine on Windows Server 2003.
I have created a new Windows Server 2003 R2 server and have transferred the website.
The site also uses 11 ActiveX DLL's written in VB 6.
I have moved them over and used regsvr32 on all of the DLL's to register them and all appears well.
When I try and view the web page however I get the Error:
MX error '800a01ad'
ActiveX component can't create object.
/includes/somefile.asp, line 16
If I create a basic asp page, the page is served from both the root of the website and the virtual directory /includes fine.
Thanks
Some other VB6 activeX dependencies were discovered. Registered them, now working sweet.

HTTP Error 404.17 - Not Found (.Net 4)

I've just got a new server setup on Windows 2008 Web edition. I'm trying to set the first asp.net 4 application up on it but am having nothing but problems.
The latest is that I'm getting the 404.17 error, which says "the requested content appears to be script and will not be served by the static file handler.".
I've done a lot of research on google but most suggestions seem to be to run aspnet_regiis -i to install asp.net 4. I've done this several times both on the Framework and Framework64 folders, but with no success.
I tried changing from the default application pool to a .net4 application pool, which appeared to work at first and I instead got a server error to do with permissions. I fixed that, and immediately the 404.17 error returned.
Other suggestions I've read say to go into the "turn windows features on and off" and make sure .net 4 is selected there under IIS. However on this server clicking "turn windows features on and off" takes me to the standard windows 2008 server manager. I click "add features" there, and only ".NET Framework 3.0 Features (Installed)" is listed and selected. .NET 4 isn't shown there, yet it is selectable through the application pools.
What else can I try to get the website running as I'm at a complete loss now. Its annoying because my old server was easy to manage - I did it all through the server itself without a control panel (Windows 2003), now on my new server I have to manage most of it through Plesk because there is no dns.
Any help would be much appreciated.
I too had the same problem but solved it with simple solution. My program was in framework 4.0 but in application pool was mapped to framework 2.0.
Just changed the frame work in application pool to 4.0.
It worked.
I've finally figured out the problem, and it was to do with Plesk itself.
After delving through some of the thousands of links throughout the plesk control panel I found a page for "Website Scripting and Security". Under there it was set to .NET 2.0. However, even though I'd installed .NET 4 on the server, Plesk didn't know about it. Although the application pool I'd set the website to run under through IIS was .NET 4, it still wouldn't work for some reason.
I then found another page under "tools and settings" for server components, and on that page is a refresh button. Hit that and it suddenly realised that .NET 4 was installed, went back to the website scripting and security page, selected .NET 4, and hey presto, I got a server error (never have I been so glad to see a server error).
I then just had to give the application pool identity read access to the web folder, and the website worked.
I wish I'd paid an extra £15 per month for Windows 2008 Standard edition now so I could manage it all manually without Plesk.
Ensure that you are running this application under a Virtual Directory, also ensure that your IIS has ASP, ASP.Net, ISAPI Extensions And Filters, Static Content installed.
Change the .net framework from 'plesk' panel:
go to Domains
select then domain
Go to 'Domain and Websites & Domains'
Hide Advanced Operations
Go to 'Asp.net Settings'
Go to 'Change Version'
select 4.0
If you don't have the 4.0 option then you must install the framework on your server first.

Can't find IIS AppPool Identity

I have a Win 2008 R2 Enterprise machine that is running fine several websites each one with its own app pool.
I have no troubles giving permissions (using windows GUI) to IIS AppPool\A, IIS AppPool\B, etc... But today I have created one more app pool "C" and I can't find it in the GUI nor using icacls command. I'm trying to give permissions in a folder to IIS AppPool\C but it says it can't find! I'm including built-in security principals in the search and if I type any of the existing app pool identities windows finds then Ok. The problem is just with this new one.
Does anyone knows what is going on?
I don't know if it is reladed but the only change made to this server was to enable .net 3.5 WCF Activation for http and non-http. After enabling this, I got error in all my .net 4 sites and fixed by running aspnet_regiis.exe /iru as described here http://devonenote.com/2010/06/could-not-load-type-system-servicemodel-activation-httpmodule .
Turns out you need to start the associated IIS application for the first time before you can see your application pool in the windows GUI!

HTTP Error 404.3-Not Found in IIS 7.5

I'm using IIS 7.5 on Windows Server 2008 R2 x64 Enterprise Edition. In the project we have developed with ASP.NET 4.0 we used WCF Service. But it doesn't run over domain when the software is running from local computer. Otherwise, I am getting the following error:
HTTP Error 404.3-Not Found
The page you are requesting cannot be served because of the extension
configuration. If the page is script, add a handler. If the file should
be downloaded, add a MIME map.
You should install IIS sub components from
Control Panel -> Programs and Features -> Turn Windows features on or off
Internet Information Services has subsection World Wide Web Services / Application Development Features
There you must check ASP.NET (.NET Extensibility, ISAPI Extensions, ISAPI Filters will be selected automatically). Double check that specific versions are checked. Under Windows Server 2012 R2, these options are split into 4 & 4.5.
Run from cmd:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
Finally check in IIS manager, that your application uses application pool with .NET framework version v4.0.
Also, look at this answer.
In my case, along with Mekanik's suggestions, I was receiving this error in Windows Server 2012 and I had to tick "HTTP Activation" in "Add Role Services".
In windows server 2012, even after installing asp.net you might run into this issue.
Check for "Http activation" feature. This feature is present under Web services as well.
Make sure you add the above and everything should be awesome for you !!!
I was having trouble accessing wcf service hosted locally in IIS. Running aspnet_regiis.exe -i wasn't working.
However, I fortunately came across the following:
Rahul's blog
which informs that servicemodelreg also needs to be run:
Run Visual Studio 2008 Command Prompt as “Administrator”.
Navigate to C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.
Run this command servicemodelreg –i.

Resources