Error 0x800f0922 is one of Windows Update’s more cryptic failures. The update downloads fine, starts installing, then dies with a code that tells you almost nothing: a servicing operation failed somewhere deep in the Component-Based Servicing stack. On HP laptops it shows up disproportionately often, usually on cumulative or feature updates, and retrying the same update just produces the same code.
The code is generic, but its causes are not — they cluster around three things: the .NET Framework 3.5 feature state, partition space (EFI or recovery), and corrupt update payloads. HP machines add their own flavor through partition layouts and firmware. This guide works the causes in the order a technician would, starting with the most common. Our step-by-step 0x800f0922 walkthrough covers the same error in condensed checklist form if you prefer that.
Before you start, grab two facts that will steer the whole repair: the exact KB number from Update history, and whether this is the first update ever to fail this way or part of a pattern. A first-time 0x800f0922 on a single KB leans toward a corrupt payload (Fix 5); the same code on every update for months leans toward .NET state or partition space (Fixes 2–3). Knowing which pattern you’re in keeps you from wasting time on the wrong half of the checklist.
Why this happens
- .NET Framework 3.5 in a broken state: The update tries to service .NET 3.5; if the feature is half-enabled or its payload is missing, servicing fails with 0x800f0922.
- Full EFI system partition: Servicing writes boot files to the EFI partition; a full 100 MB ESP blocks it.
- Full recovery partition: Cumulative updates stage WinRE changes; no space means failure.
- Corrupt downloaded payload: A damaged update package fails hash verification mid-install.
- HP Sure Start / firmware interference: Firmware-level protection can block the servicing stack’s writes during the update.
- Third-party antivirus hooks: Filter drivers intercepting servicing operations can abort them.
- Damaged component store: Corruption in WinSxS makes every servicing operation fail.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Check the CBS log for the real failure
The log names the failing component; the error code does not.
- Open
C:\Windows\Logs\CBS\CBS.login Notepad (it is large — use Find). - Search for
0x800f0922and read the lines above it for the failing package or feature name. - If you see references to
NetFx3orMicrosoft-Windows-NetFx3, the .NET path (Fix 2) is your answer. Partition errors point to Fix 3.
Fix 2: Repair the .NET Framework 3.5 feature state
The single most common 0x800f0922 trigger.
- Open Control Panel > Programs > Turn Windows features on or off.
- If .NET Framework 3.5 is checked, uncheck it, restart, then check it again and restart — this clears the half-enabled state.
- If the online enable fails, use installation media: mount a Windows 11 ISO and run in elevated Terminal:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:D:\sources\sxs /LimitAccess(replace D: with your mounted drive). - Retry the update once .NET 3.5 shows as cleanly enabled.
Fix 3: Free space on the EFI and recovery partitions
Servicing needs room to write; HP’s default layouts are often tight.
- In elevated Terminal, run
mountvol Y: /sto mount the EFI partition, then check its free space. - If the EFI partition is nearly full, remove stale boot entries with
bcdedit /enum firmwareand delete orphaned entries — or follow Microsoft’s documented ESP cleanup at the Windows update support hub . - Check the recovery partition in Disk Management; if full, the update cannot stage WinRE changes. Free space rather than deleting the partition.
- Retry the update after freeing space on both.
Fix 4: Temporarily disable third-party antivirus
Filter drivers aborting servicing operations produce exactly this code.
- Uninstall (not just disable) third-party antivirus temporarily — disabled AV often leaves filter drivers loaded.
- Ensure Microsoft Defender is active as the interim protection.
- Retry the update. Reinstall your AV afterward if the update succeeds.
Fix 5: Reset the update cache and re-download
A corrupt payload fails verification at the same point every time.
- In elevated Terminal:
net stop wuauserv,net stop bits,net stop cryptsvc. - Rename
C:\Windows\SoftwareDistributiontoSoftwareDistribution.oldandC:\Windows\System32\catroot2tocatroot2.old. - Restart the services and check for updates to force a fresh download.
Fix 6: Repair the component store
If WinSxS is damaged, every servicing operation fails regardless of payload.
- In elevated Terminal:
DISM /Online /Cleanup-Image /RestoreHealth(allow 15–30 minutes). - Then
sfc /scannow, restart, and retry the update. - If DISM reports it cannot repair, use a Windows 11 ISO as the repair source with
/Sourcepointing at the mountedinstall.wim. Mount the ISO, note its drive letter, and runDISM /Online /Cleanup-Image /RestoreHealth /Source:X:\sources\install.wim— the local source bypasses the same broken download path that may have contributed to the corruption in the first place.
Fix 7: Install the update manually from the Update Catalog
Bypass the servicing-path problem with the standalone installer.
- Get the KB number from Settings > Windows Update > Update history.
- Download the package from the Microsoft Update Catalog .
- Close HP utilities, disconnect peripherals, and run the
.msu. If your HP needs firmware updates first, grab them from HP Support before retrying.
Closing
Error 0x800f0922 rewards diagnosis over repetition: read the CBS log once, fix the actual failing prerequisite — usually .NET 3.5 or partition space — and the update that failed ten times installs on the next attempt. On HP laptops, keeping the EFI and recovery partitions healthy and .NET in a clean state prevents this code from ever coming back. And if a failed servicing attempt strands you mid-rollback, our undoing-changes guide for HP laptops covers that recovery.
