2 min read

Troubleshooting Windows Update on Server 2016

We couldn't complete the updates - Undoing Changes - Don't turn off your computer... This sure isn't a great way to end up mid-way through a maintenance window on a production Windows Server 2016 instance.
Troubleshooting Windows Update on Server 2016
We couldn't complete the updates - Undoing Changes - Don't turn off your computer

This sure isn't a great way to end up mid-way through a maintenance window on a production Windows Server 2016 instance.  These were the logs in eventvwr:

Installation Failure: Windows failed to install the following update with error 0x800F0922: 2021-01 Cumulative Update for Windows Server 2016 for x64-based Systems (KB4598243).

Installation Failure: Windows failed to install the following update with error 0x800F0922: 2021-01 Update for Windows Server 2016 for x64-based Systems (KB4589210).

Installation Failure: Windows failed to install the following update with error 0x800F0922: 2021-02 Cumulative Update for Windows Server 2016 for x64-based Systems (KB4601318).

In order to troubleshoot more effectively, we must use a PowerShell cmdlet
Get-WindowsUpdatelog to unpack the binary logs into a human-readable format to determine the root cause of the updates failing. Windows stores logs regarding updates in C:\Windows\Logs\WindowsUpdate in an ETL format. I figure I would pick the biggest and juiciest one first:

PS C:\Windows\system32> Get-WindowsUpdateLog C:\Windows\Logs\WindowsUpdate\WindowsUpdate.20210310.014106.475.1.etl

The cmdlet was fancy enough to drop it off on my desktop in CSV format.

So now we have some fun stuff to work with after analyzing the logs and finding error END * Service exit Exit code = 0x240001

This Microsoft website has knowledgebase articles about troubleshooting Windows Update, and there is a script to reset the update agent:

Windows Update - Additional resources - Windows Deployment
In this article, learn details about to troubleshooting WSUS and resetting Windows Update components manually.

Upon review, however, those links are broken and I submitted a GitHub Issue referencing this and hopefully they figure it out at some point... so, off to the Reset Windows Update Components Manually instructions.

Following these steps, even though there were several errors registering the .DLL files worked like a charm and got my updates to go!