Error 0x80004005 when starting ASP.NET .NET Core 2.0 in IIS

By FoxLearn 12/26/2024 10:05:22 AM   8
The error code 0x80004005 is a general error code that typically points to a problem with file access or missing files.

In this case, the issue is often caused by the absence of the IISExeLauncherArgs.txt file or a misconfiguration in the application’s deployment settings.

physical root '' failed to start process with commandline 'dotnet .\mywebapp.dll -argFile IISExeLauncherArgs.txt', ErrorCode 0x80004005 : e0434352.

In ASP.NET Core applications, the web.config file is used to configure the application’s behavior when running under IIS. In earlier versions of ASP.NET Core (such as 2.0), this configuration might have mistakenly referenced the IISExeLauncherArgs.txt file, even though it’s not needed or might not be present in the deployment environment.

To resolve this issue, follow these steps:

  • Navigate to the folder where your application is deployed: This will typically be the root folder of your web application on the IIS server.

  • Locate the web.config file: The web.config file is essential for configuring how IIS interacts with your ASP.NET Core application.

  • Open the web.config file in a text editor.

  • In the web.config, find the line that specifies the arguments setting under the <aspNetCore> element. It will look something like this:

<aspNetCore processPath="dotnet" arguments=".\mywebapp.dll -argFile IISExeLauncherArgs.txt" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

The problematic argument -argFile IISExeLauncherArgs.txt is not needed and may cause the application to fail. Remove this from the arguments attribute.

Change the line to:

<aspNetCore processPath="dotnet" arguments=".\mywebapp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

After making the changes, save the file, then restart the IIS server or the specific site to apply the changes.