Error 0x80070002 translates to a simple complaint: the file Windows Update expected is not there. Video guides walk through the fixes with on-screen clicks, but this code deserves unhurried, exact steps — especially the command-line repairs where a typo matters. This text walkthrough covers the same ground at your pace.
The missing files are almost always local: a corrupted download cache or damaged system files. We will rebuild both, verify the clock, and finish with the manual install that sidesteps the whole issue.
The reassuring thing about 0x80070002 is what it is not: it is not a hardware failure, not a corrupted Windows installation, and not a sign you need to reinstall. It is a logistics error — files expected, files missing. Logistics errors have logistics fixes, and the sequence below restores every location the update client looks.
Why this happens
- Corrupted download cache: The top cause — expected package files missing or damaged locally.
- Damaged component store: System files the update references are corrupted.
- Wrong system date/time: Breaks the secure server connection, corrupting downloads.
- Interrupted previous update: A half-finished install leaving the cache inconsistent.
- Antivirus quarantine: Security software quarantining update files mid-download.
- Disk errors: Bad sectors swallowing cached files.
- Stale update metadata: The client’s catalog disagreeing with reality.
- Proxy misconfiguration: A stale proxy breaking the client’s server communication.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Verify date, time, and region
- Right-click the taskbar clock, choose Adjust date and time.
- Enable Set time automatically and click Sync now.
- Confirm the time zone is correct for your location.
- Retry the update. A wrong clock silently corrupts the server handshake behind this error.
- Also confirm the region format matches — mismatched locales occasionally confuse the client.
- Restart the Windows Time service after syncing to lock in the correction.
Fix 2: Clear the download cache
- In an elevated Command Prompt:
net stop wuauserv,net stop bits. - Delete the contents of
C:\Windows\SoftwareDistribution\Download. - Restart both services:
net start wuauserv,net start bits. - Check for updates to trigger a completely fresh download. This resolves the majority of 0x80070002 cases.
- Watch the folder repopulate after restarting services — no repopulation means the client is not trying.
- If the error returns instantly on retry, the metadata is corrupt — proceed to Fix 7’s reset.
- After the services restart, wait two full minutes before clicking Check for updates — the client needs time to rebuild its state.
- If the same error appears instantly, the metadata database is corrupt and Fix 7’s full reset is the answer.
Fix 3: Check antivirus quarantine
- Open your antivirus (including Defender’s protection history) and check the quarantine.
- Look for quarantined files with update-related paths or recent timestamps matching the failure.
- Restore any legitimate update files and add an exclusion for
C:\Windows\SoftwareDistribution. - Retry the update. Overzealous real-time protection is an underappreciated cause of this code.
- Add the exclusion before retrying, not after — prevention beats cure.
- Review quarantine regularly; overzealous antivirus causes repeat performances.
Fix 4: Run the troubleshooter
- Go to Settings > System > Troubleshoot > Other troubleshooters and run Windows Update.
- Apply all recommended fixes and restart.
- The troubleshooter re-registers update components that 0x80070002 often implicates.
- If it will not run, see our guide on troubleshooter failures .
- Let the troubleshooter re-register components even if it reports no problems found.
- Check services.msc afterward to confirm the update services are in the correct state.
Fix 5: Repair system files
- Run
DISM /Online /Cleanup-Image /RestoreHealthin an elevated Command Prompt. - Follow with
sfc /scannowand restart. - These restore the component store files the update expects to find.
- Retry the update after the repair. Microsoft documents both utilities on its Windows support pages .
- If SFC finds corruption it cannot fix, the CBS log identifies the files for manual replacement.
- Run DISM first when SFC fails — DISM repairs the source SFC uses.
- When SFC completes, check whether it says it repaired files or found nothing — the distinction guides your next step.
- If repairs were made, run Windows Update immediately; repaired stores fail again if left sitting.
Fix 6: Install the update manually
- Note the failing KB number from Update history.
- Download the x64 .msu from the Microsoft Update Catalog .
- Run it directly as administrator.
- The manual path does not depend on the local cache at all, which is why it defeats this error so reliably.
- Run the .msu from an elevated Command Prompt for the cleanest execution context.
- If the manual install reports missing prerequisites, install those KBs first.
Fix 7: Reset components and check the disk
- Stop
wuauserv,bits, andcryptsvc; renameSoftwareDistributionandcatroot2with.oldsuffixes; restart the services. - Run
chkdsk C: /fand approve the next-restart scan to rule out disk errors eating cached files. - Check for updates on the fully reset pipeline.
- Persistent 0x80070002 after all this points at disk trouble — back up and investigate the drive. For the broader error landscape, see our guide on update errors in 24H2 .
- After the reset, check for disk errors before the update retry — order matters.
- If chkdsk repairs filesystem errors, run SFC once more afterward to fix any file damage they caused.
Closing
0x80070002 is the update client telling you its files went missing — and the cache rebuild in Fix 2 restores them in most cases. Verify the clock, clear the cache, repair the store, and install manually when the automated path keeps losing things. It is one of the friendlier error codes once you know its habits. File-not-found is the update client’s simplest complaint and among the easiest to satisfy: rebuild the cache, repair the store, verify the clock. When the files are where they should be, 0x80070002 has nothing left to say.
