Web applications return HTTP Error 503 and WAS event 5189 on Windows 10 Version 1709 (Fall Creators Update)

Applies to: Windows 10 EnterpriseWindows 10 ProWindows Server 2016 Standard

Symptoms


Consider the following scenario.

  • You have a computer that is running Windows 10 or Windows Server 2016 that has Internet Information Services (IIS) enabled.
  • You upgrade to Windows 10 Version 1709 (Fall Creators Update) or Windows Server 2016 Version 1709.

After the upgrade, some web applications do not start, and they return the following HTTP 503 error message:

 

Also, WAS event 5189 is logged in the event log:

 

Resolution


To resolve this problem, manually delete the symbolic links that are created by Windows Update. To do this, follow these steps.

Note Symbolic links can be deleted the same as regular files.

  1. Open a Command Prompt window by using the Run as administrator option.
  2. Run the following commands:
     
    net stop WAS /y
    rmdir /s /q C:\inetpub\temp\appPools
    net start W3SVC

Cause


The Windows Activation Service (WAS) creates a temporary configuration file for each IIS application pool in the C:\inetpub\temp\appPools folder during typical operation.

During an initial upgrade phase, Windows Update scans the existing folders and files (outside the Windows folder), and records their paths to be restored after upgrade. However, because the configuration files are temporary, they are deleted when WAS is stopped.

In the next phase of Windows Update, these previously scanned files and folders are copied to a temporary upgrade location. After Windows is upgraded, Windows Update creates a symbolic link to each folder that was copied to a temporary upgrade location before it tries to restore these files and folders to their original location.

However, because these temporary configuration files no longer exist, Windows Update does not remove the symbolic links.

When WAS tries to start as an IIS worker process, it does not create a temporary folder to write the configuration because of the symbolic links. Therefore, Http.Sys returns an HTTP 503 error.