Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix 0x800F0922

0x800F0922: cumulative update fails when the system partition is full

10 min read Updated October 4, 2026 Windows Update & Setup

Fix it now

0x800F0922 is CBS_E_INSTALLERS_FAILED: an advanced installer inside the update package failed, and the code itself says nothing about why. The servicing log names which one, so read that before you change anything on disk.

Run these in an elevated Command Prompt, in order

DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
Dism /english /online /get-packages /format:table | findstr /i "Staged"
  1. Open %SystemRoot%\Logs\CBS\CBS.log and search back for the first failure rather than the last. CBS.persist.log holds the older entries once the current log has rolled.
  2. Search that log for ERROR_FILE_NOT_FOUND and for SecureBootEncodeUEFI, which is the failing task Microsoft documents most often behind this code.
  3. Check the Task Scheduler Operational log for Event ID 146, which is what that broken task writes.
  4. Count the files in C:\Windows\Temp. Microsoft documents this code appearing once that folder passes roughly 65,000 files, and the fix is simply to empty it.
  5. If the get-packages output lists staged packages from earlier failed attempts, remove them as shown in the reference section, then retry the update.

Restart before retrying. Servicing will not begin a new transaction while an earlier one is still pending, and a retry in that state fails without telling you why.

If the update installs and survives the restart, you are done. If it fails again, the next section covers each cause Microsoft documents for this code and how to tell them apart.

Why it happens

A cumulative update is not only files. Alongside the components it replaces, it carries advanced installers and generic commands: small pieces of work that run during servicing to reconfigure something the new files depend on. 0x800F0922 is the servicing stack reporting that one of those failed. That is all it says. It does not name the installer, and it says nothing about your disk, your network or your machine’s capacity.

This matters because the code has attracted a large body of advice that treats it as a disk space error. Microsoft has three separate pages covering it and not one attributes it to a full system partition or to a VPN. What they do attribute it to is a corrupted scheduled task, a permissions problem on the folder holding licence tokens, and a Windows Temp directory with more files in it than servicing can work through. Those are the causes to work, and the servicing log tells you which.

The three codes that travel with this one are the genuine capacity codes, which gives you a clean test. 0x8007000E means not enough storage is available, 0x80070027 means the disk is full, and 0x80070718 means a quota has been exhausted. If any appear alongside, capacity really is the problem. If 0x800F0922 appears on its own, it is an installer failure and freeing space will not touch it.

The SecureBootEncodeUEFI scheduled task is corrupted

You have this one if CBS.log shows ERROR_FILE_NOT_FOUND near the failure, and the Task Scheduler Operational log has Event ID 146.

  1. Search CBS.log for SecureBootEncodeUEFI and confirm it appears around the failure point.
  2. Remove any packages left in the Staged state by earlier attempts, using the commands in the reference section.
  3. Delete the task’s registry entries, listed in the reference section, so Windows can recreate the task, then restart and retry.

This is the cause Microsoft documents specifically for this code during update installation, so work it before anything more invasive.

Servicing cannot write the licence tokens

You have this one if CBS.log shows updates rolling back at the point where licence and product key tokens are being updated.

  1. Open the properties of C:\Windows\System32\spp and check its permissions.
  2. Grant write access to the User and Network Service accounts, which is the resolution Microsoft documents for this pattern.
  3. Retry the update, then restart when it completes.

The Windows Temp directory has too many files in it

You have this one if C:\Windows\Temp holds an unusually large number of files, and other servicing operations such as removing a role or feature also fail.

  1. Check how many files are in C:\Windows\Temp. Microsoft documents this failing past roughly 65,000.
  2. Delete the contents of that folder. It is a temporary directory and nothing in it needs preserving.
  3. Retry the update or the role change that was failing.

The volume genuinely has no room

You have this one if 0x8007000E, 0x80070027 or 0x80070718 appear alongside the main code, rather than it appearing on its own.

  1. Check the free space you actually have: fsutil volume diskfree c:
  2. Free space from the storage page at ms-settings:storagesense, then reclaim superseded components with Dism.exe /online /Cleanup-Image /StartComponentCleanup.
  3. Move user data, virtual machine files or backups off the system volume rather than shaving a gigabyte at a time, then retry with a comfortable margin.

Full reference

Why the code is so quiet about its cause

CBS_E_INSTALLERS_FAILED is raised at the layer that runs advanced installers, not inside the installer that failed. By the time the error surfaces, the specific failure has already been written to the log and the stack is reporting only that the batch did not succeed. This is also why the same code appears when installing an update, when uninstalling a server role and when enabling a feature: all three run advanced installers, and any of them can fail for a reason particular to itself. Reading the log is not a more diligent version of guessing; it is the only way to tell these cases apart.

Clearing packages left staged by failed attempts

List staged packages, then remove each one by the name the first command prints

Dism /english /online /get-packages /format:table | findstr /i "Staged"

Dism /online /remove-package /PackageName:Package_for_RollupFix~31bf3856ad364e35~amd64~~14393XXXX

Substitute the exact package name from the first command’s output. The example above shows the shape of the name, not a name to type.

Repairing the SecureBootEncodeUEFI task

The task is identified by a GUID held in the registry. Read the GUID first, then remove the four entries that describe the task so that Windows can recreate it.

Read the task GUID, then remove the four entries that define it

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PI\SecureBootEncodeUEFI" /v ID

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Maintenance\{GUID}" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain\{GUID}" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID}" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PI\SecureBootEncodeUEFI" /f

Back up the TaskCache key before deleting anything under it, and substitute the GUID the first command returns. Deleting entries for a different task removes that task.

About the reserved partition

A great deal of advice for this code sends you into the EFI system or System Reserved partition to delete language font files after assigning it a drive letter. That procedure appears nowhere in Microsoft’s documentation, it is offered as the fix for a cause Microsoft does not attribute to this code, and it operates on the partition that makes the machine bootable. It is not in this article for those reasons.

A reserved partition genuinely too small to service is a real condition, and Windows has its own distinct message for it when it happens during an upgrade. If that is what you are seeing, you are looking at a different problem from this code, and the honest answer is that extending that partition means moving the partition next to it, which the built-in tooling will not do. On a managed fleet the practical route is redeployment with a current image, which produces a correctly sized layout. On a single machine, image it before anyone attempts partition surgery.

Logs, and what to search them for

Location What to look for
%SystemRoot%\Logs\CBS\CBS.log The failing advanced installer; search for ERROR_FILE_NOT_FOUND and SecureBootEncodeUEFI
%SystemRoot%\Logs\CBS\CBS.persist.log Earlier entries after the current log has rolled; often holds the first failure
Task Scheduler Operational log Event ID 146, written when the SecureBootEncodeUEFI task is broken
Windows Update history Whether the same update is failing repeatedly or a different one each month

If none of the documented causes apply

  • Repair the component store first with RestoreHealth and then the file checker, in that order, because a damaged store produces servicing failures of its own that look like this one.
  • Check whether the same update fails on more than one machine. A single machine points at local state; a fleet points at the package or at a policy applied to all of them.
  • Try the update as a standalone package from the Microsoft Update Catalog, which changes how it is delivered and sometimes produces a more specific error.
  • Keep the CBS.log excerpt around the first failure. It is the one thing that turns this from a generic code into a specific defect anyone can act on.

Every code this article covers

Code What it points at Source
0x800F0922 CBS_E_INSTALLERS_FAILED: processing advanced installers and generic commands failed; the servicing log names which one Microsoft Learn
0x80070718 ERROR_NOT_ENOUGH_QUOTA: not enough quota is available to process this command Microsoft Learn
0x8007000E ERROR_OUTOFMEMORY: not enough storage is available to complete this operation Microsoft Learn
0x80070027 ERROR_HANDLE_DISK_FULL: the disk is full Microsoft Learn

Confirm the fix worked

  1. Retry the update and confirm it installs and survives the restart.
  2. Check Windows Update history and confirm the entry shows as successfully installed rather than retried.
  3. Search CBS.log after the successful run and confirm no new advanced installer failures were written.
  4. If you removed staged packages, confirm get-packages no longer lists anything in the Staged state.
  5. Confirm the following month’s update installs without intervention.

Questions people ask about this

Does fixing this cost anything?

No. Every step is free and uses tools already on the machine. Nothing about this code indicates a licensing problem, and no licence changes the outcome.

Everyone says this is the system reserved partition being full. Why does this article disagree?

Because Microsoft’s own pages for this code do not say that. They document a corrupted scheduled task, a permissions problem on the licence token folder, and too many files in the Windows Temp directory. A too-small reserved partition is a real condition with its own distinct message, and conflating the two sends you into boot partition surgery for a fault that is not there.

What about disconnecting the VPN first?

That advice is everywhere and nothing published supports it for this code. If the machine cannot reach the update source, that produces its own connectivity errors rather than this one. Spend the first attempt on the servicing log instead.

How much free space does the system partition need?

There is no published figure for this code, because free space is not what this code reports. If you are also seeing 0x8007000E, 0x80070027 or 0x80070718, then capacity is genuinely involved and the answer is to leave a comfortable margin rather than clearing exactly enough for one month.

Why does the error mention nothing about what failed?

Because it is raised by the layer that runs advanced installers, not by the installer that failed. The specific reason is written to CBS.log, and reading it is the fastest way to tell these causes apart without guessing.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

License Error 0x80004005 – 0x20007: driver installation fails in the SAFE_OS phase License Error 0xC190020E and 0x80070070: not enough free space to run the upgrade Free Fix 0x8024001E and 0x80243004: the update was stopped at shutdown, or the tray icon failed License Error 0x80042405 – 0xA001A: the Media Creation Tool cannot build the USB drive
โ† Back to Knowledge Base