Windows Update error 0x80004005, explained and fixed

0x80004005 is E_FAIL, “unspecified failure,” the least informative code Windows Update produces: the operation failed and the component did not say why. It is most notorious on feature updates, where it can appear at download, install, or the first-boot phase, and on ordinary updates whose real cause hides one layer down.

The fix, in order

  1. Free up serious disk space. Feature updates need room for the download, the staging area, and the rollback copy. Aim for 20 GB free on the system drive before a feature update; use Storage Sense or Disk Cleanup to get there.
  2. Unplug what is not needed. External drives, SD cards, and USB devices are documented feature-update blockers. A bare machine, keyboard, mouse, display, network, updates far more reliably.
  3. Run the Windows Update troubleshooter. Settings → System → Troubleshoot → Other troubleshooters → Windows Update → Run. It catches stopped services, cache problems, and registration faults automatically.
  4. Update BIOS and drivers before a feature update. Old storage, chipset, and graphics drivers are behind a large share of feature-update failures. Get them from the manufacturers, restart, then attempt the update.
  5. Temporarily disable third-party antivirus. Leave Windows Security on; remove the add-on suite for the attempt, reinstall it after.
  6. Reset the Windows Update components. In an admin Command Prompt, stop the services: net stop wuauserv, net stop cryptSvc, net stop bits, net stop msiserver. Rename C:\Windows\SoftwareDistribution to SoftwareDistribution.old and C:\Windows\System32\catroot2 to catroot2.old, then restart the four services with net start. This rebuilds the download cache and the update database from scratch.
  7. Repair the component store and system files. From an admin Command Prompt: DISM /Online /Cleanup-Image /RestoreHealth, then sfc /scannow. Restart afterwards; a repaired store often lets the same update sail through on the next attempt.

If it still happens

For feature updates, skip the fight and use the Installation Assistant or installation media for an in-place upgrade, which runs a more tolerant setup path and keeps files and apps. For a plain cumulative update failing with this code, install it manually from the Update Catalog to get a specific error instead of the generic one; that specific error has its own page and its own fix.

Common questions

Why won’t Windows just tell me what failed? Because 0x80004005 is the fallback code components return when they did not map their failure to a specific one. The real detail exists, in the update history, the CBS log, and for feature updates the setup logs under C:\$WINDOWS.~BT\Sources\Panther, but the summary code stays generic.

Should I keep retrying the same feature update? Twice is reasonable after working the steps. Beyond that, retries repeat the same failure deterministically. Switch to the Installation Assistant or media-based upgrade, which changes the method rather than hoping for a different result.

Related errors

Windows Update error 0x80070643 · Windows Update error 0x80242016 · Windows Update error 0x80070057