I have a Windows Azure VM running Windows Server 2012 R2 that hasn't been able to install updates since April 2016. The "View update history" screen in the Control Panel lists hundreds of successive failures from constant attempts to install the updates on every machine restart.

The Details window for each update resembles:

Update for Windows Server 2012 R2 (KB3133690)

  • Installation date: ‎2016-‎04-‎25 10:34
  • Installation status: Failed
  • Error details: Code 800F0922 Get help with this error
  • Update type: Recommended

Install this update to resolve issues in Windows. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.

More information: http://support.microsoft.com/kb/3133690

Help and Support: http://support.microsoft.com

(As usual, the "Get help with this error" link is useless and opens a Windows Help and Support window that simply reads "Getting search results... We couldn't find any results. Here are some things to try:". Ugh,

The Windows Event log is also littered with events like these:

  • Log Name: System
  • Source: WindowsUpdateClient
  • Event ID: 20
  • Level: Error
  • User: SYSTEM
  • OpCode: Installation Installation Failure: Windows failed to install the following update with error 0x800F0922: Security Update for Windows Server 2012 R2 (KB3159398).

The Application event log contains more useful information:

  • Log Name: Application
  • Source: Windows Error Reporting
  • Event ID: 1001
  • Level: Information
  • User: N/A Fault bucket , type 0 Event Name: WindowsUpdateFailure3 Response: Not available Cab Id: 0

Problem signature: P1: 7.9.9600.18235 P2: 800f0922 P3: BA0F75FF-19C3-4CBD-A3F3-EF5B5C0F88BF P4: Install P5: 202 P6: 0 P7: 0 P8: AutomaticUpdatesWuApp P9: {7971F918-A847-4430-9279-4A52D1EFE18D} P10: 0

Attached files: C:\Windows\WindowsUpdate.log C:\Windows\SoftwareDistribution\ReportingEvents.log C:\Windows\Logs\CBS\CBS.log

These files may be available here: C:\ProgramData\Microsoft\Windows\WER\ReportQueue\NonCritical_7.9.9600.18235_(Redacted)

Analysis symbol: Rechecking for solution: 0 Report Id: (Redacted) Report Status: 4 Hashed bucket:

The server would reboot to install updates, then stop and perform a rollback immediately afterwards, making a normal reboot last 15+ minutes.

The logfile C:\Windows\WindowsUpdate.log doesn't yield any clues - it doesn't report any obvious errors or warnings - besides excessive messages about it being unable to use the Metered connection API: "WARNING: Failed to get Network Cost info from NLM, assuming network is NOT metered, error = 0x80240037".

The C:\Windows\SoftwareDistribution\ReportingEvents.log file just contains the same text as the Windows Update control panel: "Failure Content Install Installation Failure: Windows failed to install the following update with error 0x800f0922: Security Update for Windows Server 2012 R2 (KB3162343)."

Finally, C:\Windows\Logs\CBS\CBS.log is a 180MB+ sized text file that I skimmed through but couldn't find anything obvious.


Solution 1:

TL;DR:

Clear your C:\Windows\Temp directory and other Temp directories for good-measure - then it should install updates fine.

Explanation:

As this is an Azure VM, Microsoft's "Basic" support tier is available - granted it took 3 days to arrange a phone-call, but the support staff were able to find a workaround just today.

In the CBS.log file he spotted this line (trimmed and tidied-up by me):

2016-08-16 20:26:50, Error                 CSI    00000006@2016/8/16:20:26:50.808 (F) CMIADAPTER: Inner Error Message from AI HRESULT = 8004402f [Error,Facility=FACILITY_ITF,Code=16431 (0x402f)]
[
[210]"Parsing MOF file: C:\Windows\system32\wbem\NetTCPIP.mof
Error 80 in Function CMofLexer::CMofLexer line 614
C:\Windows\system32\wbem\NetTCPIP.mof (1): error SYNTAX 0X8004402f: Error creating temporary file"
]
[gle=0x80004005]

The important bit being this error:

Error creating temporary file

He instructed me to change the default environment-variables: TEMP and TMP in both System and User definitions to C:\TEMP and to ensure Everyone had Full Access to C:\TEMP.

After rebooting the clogged-up updates installed without any further issues.

After installing those updates fine I then deleted all of the files in the original C:\Windows\Temp directory (which took 5+ minutes, there were a lot of deeply nested files). I then reset the TMP and TEMP environment variables back to C:\Windows\Temp and rebooted.

Two new updates were then ready to install and installation completed without any problems.

So I think the problem was bad data in the Temp directory that prevented the updates from doing anything.

Update in Mid-2017: I had a similar incident on a Windows 10 laptop recently with the same error code. I immediately went to the C:\Windows\Temp directory and saw it had a lot files in it (about 16,000 files and folders), including deeply-nested folders too. After I deleted everything in the directory and rebooted I was able to install the updates again.