We had a classic ASP application that had to be migrated to a new Windows Server (Windows Server 2012 R2 Datacenter). IIS was already setup and we migrated the files configured the URL and DNS, as well as setting up the classic ASP components for IIS. The web application initially opens okay but the error below pops up on the server continually.
We checked the relevant site was configured to run 32bit and we ensured that in the sites "Debugging properties" the "Enable Server-side Debugging" was set to false. Also, all those testing the site we ensured in Internet Options >> Advanced the two values of "Disable script debugging" were checked. But this did not resolve the error. I believe we have all the necessary components setup in the server roles
I then followed this URL and deleted certain registry entries and restarted the server.
https://learn.microsoft.com/en-gb/visualstudio/debugger/just-in-time-debugging-in-visual-studio?view=vs-2015
This seemed to take away the above error but then the relevant application pool continually stops. I checked the application logs and at each time the application pool stops there is an error stating below
Since creating this ticket I installed DebugDiag 2 and set up a rule for IIS "Crashing". Ran the application until the relevant IIS Application Pool stopped and examined the Dump files created by the rule. All of them appear to have one error concerning "VCRUNTIME140.dll". See image below.
I found that this was a common issue and related to Visual C++ Redistributable 2015. I looked at installed programs and there was versions 2010, 2013 and 2017 installed. Microsoft state that after version 2013 subsequent versions incorporate the last. So I installed the latest version of Visual C++ Redistributable and restarted the server. This made no difference. So I uninstalled the latest version and installed version 2015 and restarted but again the application pool still stops after several actions on the web application.
Does anyone know how do I resolve this please?
Related
The problem
IIS ASP.NET Core module is unable to start an ASP.NET Core 2.0 app.
Browser: HTTP Error 502.5 - Process Failure
Windows Event Log: Application ‘MACHINE/WEBROOT/APPHOST/AppSite’ with physical root ‘C:\inetpub\apps\AppFolder\’ failed to start process with commandline ‘C:\inetpub\apps\AppFolder\App.exe’, ErrorCode = ‘0x80004005: 1’.
ASP.NET Core Module Log: Log file is created but is empty.
The setup
App: ASP.NET Core 2.0 targeting .NET Framework 4.6.1.
Server: Windows Server 2012 R2 Standard 6.2.9200 with IIS 8.5.9600.
The story
We've created a blank MVC Web application using the default project templates provided in Visual Studio 2017.
The app is deployed following the official specification: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/.
The confusion arises mainly from these two points:
Running the app through command-line on Kestrel works.
Running a different app but targeting .NET Core 2.0 and publishing as framework-dependant works flawlessly on IIS.
But between these two apps: the codebase is the same, the IIS website and application pool is the same and we even emptied out the app directory and used the same one.
Due to these points the only difference seems to be the net461 app's executable file.
We do not have full control over the Windows Server where we're trying to deploy but we do have administrator accounts. The current assumption is that the issue lies within permissions - maybe AD group policies, antivirus blocking the file but we're still awaiting response from the client's sysadmins. Meanwhile we haven't been able to replicate the error code ‘0x80004005: 1’ while trying to setup these restrictions on our development machines.
Here's an incomplete list of ideas and points about the issue we've tried while problem solving:
The initial app (targeting net461) works flawlessly on IIS when
deployed to other servers (Windows 10 Enterprise, Windows Server 2012
R2 Datacenter).
Reinstalling different versions of ASP.NET Core/.NET Core: Runtime & Hosting Bundle.
Setting NTFS permissions to the dotnet folder.
Changing IIS application pool identity to an administrator account.
Restarting the server.
Going over local group and security policies.
Going over the antivirus settings and logs.
Trying to deploy on a brand new server (same OS, same bloat).
All ideas/comments are greatly appreciated. The more obscure the better.
EDIT:
Since this got flagged as a possible duplicate of ASP.NET Core 0x80004005 I need to specify why that is not a duplicate.
That referenced project is an older version of ASP.NET Core (last use
of project.json was in 2016)
That referenced project targets .NET Core and not .NET 4.6.1. It is mentioned here as well that targeting .NET Core works on IIS in regard to this issue.
Selected answer points out that they fixed it by:
Turns out that this was result of needing to install some windows
updates and this problem:
api-ms-win-crt-runtime-l1-1-0.dll is missing when opening Microsoft
Office file
Rather than install the version discussed in the above issue I whet
into Programs and Features and ran a repair on Microsoft Visual C++
2015 Redistributable.
but the installation of Microsoft Visual C++ 2015 Redistributable is one of the steps in the official setup guide and it is mentioned here as well that the official guide has been followed during the setup process.
We have gone over that post and tried to repair and reinstall the Microsoft Visual C++ 2015 Redistributable runtime components and this did not fix the issue.
If anyone stumbles upon this post in the future:
The problem was indeed in the server's antivirus. It wasn't directly blocking the app's executable but its call to a class library in the system folder. This termination did not raise any of the usual alarms.
The application "C:\inetpub\apps\AppFolder\App.exe" attempted to load the library "bcrypt.dll" by calling the function "LoadLibraryExW". The operation was blocked and the application terminated.
After switching the MVC blank app to a completely blank Hello-World app it ran successfully.
I am running my mvc project in visual studio 2013 no errors comes in debugging and all projects build up successfully. after it when visual studio run the project and launch IIS express process it got crashes with following error which comes in result window.
The program '[13280] iisexpress.exe' has exited with code -1073740771
(0xc000041d). The program '[13280] iisexpress.exe: Program Trace' has
exited with code 0 (0x0).
I also re install visual studio reset its all settings problem still exist.
I also check whether iis is working ok? I deployed the websites on iis and they are working fine, Only the websites which i run from visual studio did not work and gives upper mention error message.
I solved my problem myself... I make a couple of changes which solved my problem, Steps are as follows....
Uninstall IIS
1.1. Go to control panel-> Programs and features -> Turn Windows Features On or Off.
1.2 De-select Internet Information Services and Internet Information Services Hostable Web Core.
1.3 Restart the system.
1.4 Go to My Documents and delete folder "IISExpress".
Install IIS again
2.1. Go to control panel-> Programs and features -> Turn Windows Features On or Off.
2.2 select Internet Information Services and Internet Information Services Hostable Web Core.
2.3 Restart the system.
this solved the problem.
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.
I have upgraded my 2011 Lightswitch app to 2012 RTM and it works fine locally. However, when I try to Publish it to my web server it fails (http://blogs.msdn.com/b/bethmassi/archive/2011/03/23/deployment-guide-how-to-configure-a-web-server-to-host-lightswitch-applications.aspx).
I checked the Web Platform Installer on the live server and it does NOT have "Visual Studio LightSwitch 2012 Server Runtime without Local SQL" (http://msdn.microsoft.com/en-us/library/Gg481779(v=vs.110).aspx) - it only has the 2011 version.
Where do I get the 2012 version from? There is very little info about it on the web.
Ok, I am going to summarise my experience here as it might help others who are upgrading. My app uses the Telerik RadgridView control and Forms authentication. It runs OOB:
1) Firstly, I upgraded to the RTM LS2012 version and rebuild my app - all works fine on Dev.
2) I then tried to deploy to my Win2008 Server with no changes (note: it was running the LS2011 version with no problems). This failed with an "Unknown" message during the publish process. To get around this I unchecked the flag on the Publish wizard "IIS Server has the Lightswitch Deployment Prerequisites".
3) Next problem: The Silverlight App would show "loading" and then show a blank screen. At one point I received a message saying "Debugging resource strings are unavailable". The problem here was that the IIS site that the publishing wizard created had Windows and Forms Authentication (under the IIS Authentication icon). Disabling Windows Auth solved this problem. I was finally able to log on to my app.
4) Hardest problem: The app would log in and work fine for about 20 seconds. Then it would throw a Silverlight unhandled exception: "Unhandled exception at 0x5ceed700 in sllauncher.exe: 0xC0000 094: Integer division by zero". After a lot of Googling someone asked if I was using a VM - the server IS a VM and they suggested I run as a single processor (ie. it was a threading error). I did not try this, instead I tried running from a different PC as a client OOB (I was testing on the server). This then worked.
After all this my app is now up and running as Lightswitch 2012.... hope this helps someone!
Notes: I did NOT install .NET 4.5 (my projects target .NET 4) OR the Lightswitch 2012 requisites on the server. It works with the Silverlight 4 Telerik dlls.
I think all you need is change of .NET framework from 4.0 to 4.5 in your application directory.
It is called "LightSwitch for Visual Studio 2012 - Server Configuration with(out) local SQL Express" and available at the Web Platform Installer.
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.