Error 0x80070005 is Windows saying “access denied” in hexadecimal. The update installer reached for something — a file, a folder, a registry key — and was refused. Video tutorials demonstrate the fixes visually, but permission repairs deserve careful, readable steps you can follow exactly. This is the text companion: same fixes, at your pace, with nothing rushed.
The suspects are a short list: antivirus locking files, wrong permissions on update folders, a non-admin account, or corrupted access control lists. We will clear them in order.
Access-denied errors are about finding the guard that said no. Before changing anything, ask: what runs with the power to refuse? Antivirus, permission tools, group policies, and disk errors are the usual guards. The fixes below interrogate them in order of likelihood, starting with the ones you can test in under a minute.
Why this happens
- Antivirus file locks: Real-time scanning holding files the installer must replace.
- Wrong folder permissions: SoftwareDistribution or system folders with broken access control lists.
- Non-administrator account: The install running without the rights it needs.
- Corrupted security descriptors: Damaged permission metadata on system objects.
- Third-party “privacy” tools: Aggressive utilities that strip permissions from system folders.
- Disk errors: Filesystem corruption manifesting as access failures.
- User profile issues: Temp folder permission problems breaking the installer’s staging.
- Encrypted folders: EFS-encrypted system folders the installer cannot read.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Run as administrator and pause antivirus
- Confirm you are signed in as an administrator in Settings > Accounts > Your info.
- Temporarily disable third-party antivirus real-time protection (keep Defender on).
- Close system utilities, disk tools, and “privacy” apps that might lock files.
- Retry the update. This alone resolves the single most common 0x80070005 trigger.
- Verify the admin account is not a Microsoft-account-linked standard user in disguise.
- If UAC prompts do not appear, check that User Account Control is actually enabled.
Fix 2: Reset the update folders’ permissions
- In an elevated Command Prompt, run
net stop wuauservandnet stop bits. - Rename
C:\Windows\SoftwareDistributiontoSoftwareDistribution.old— the folder is recreated with correct permissions on restart. - Do the same for
C:\Windows\System32\catroot2. - Restart both services and retry. Fresh folders inherit correct access control lists automatically.
- After renaming, confirm the new folders inherit permissions from C:\Windows correctly.
- If the rename fails with access denied, boot into Safe Mode and try there.
- After the rename, restart and verify the new folders were recreated with today’s date.
- If Windows cannot recreate them, run the update troubleshooter to rebuild the pipeline.
Fix 3: Take ownership of the temp staging area
- Press Win + R, type
%temp%, and check you can create and delete files there. - If access is denied, right-click the Temp folder, open Properties > Security, and ensure your account has full control.
- Clear the temp folder’s contents (skip files in use).
- The installer stages files here; a broken temp folder permission fails every update with 0x80070005.
- Check both the user Temp and the system Temp (C:\Windows\Temp) permissions.
- Clear both temp locations — the installer uses each at different stages.
Fix 4: Run the update troubleshooter
- Go to Settings > System > Troubleshoot > Other troubleshooters and run Windows Update.
- The troubleshooter includes permission checks on the update pipeline.
- Apply its fixes and restart.
- If the troubleshooter will not run at all, see our guide on troubleshooter problems before continuing.
- Read the troubleshooter’s detailed results for permission-specific repairs.
- Run it from an elevated context by launching Settings as administrator.
Fix 5: Repair system files
- Run
DISM /Online /Cleanup-Image /RestoreHealthin an elevated Command Prompt. - Follow with
sfc /scannow— it specifically repairs corrupted security descriptors on system files. - Restart the laptop after both complete.
- Corrupted ACLs on system files are an invisible but real cause of this code. Microsoft documents both tools on its Windows support pages .
- SFC specifically repairs file security descriptors — let it complete fully.
- Check the CBS log for ‘access denied’ repairs to confirm the fix applied.
- After the repairs, retry the update before changing anything else — test one variable at a time.
Fix 6: Check for disk errors
- Run
chkdsk C: /fin an elevated Command Prompt and approve the next-restart scan. - Restart and let the scan complete fully.
- Filesystem corruption can present as access denied when the real problem is unreadable sectors.
- If chkdsk finds extensive damage, back up your data promptly — the disk may be failing.
- Schedule the chkdsk for the next restart and let it run uninterrupted.
- If bad sectors cluster on system files, plan a drive replacement — permissions will keep breaking.
Fix 7: Manual install with a clean security context
- Find the KB number in Update history and download it from the Microsoft Update Catalog .
- Right-click the .msu and choose Run as administrator explicitly.
- Install with antivirus still paused and other software closed.
- If the manual install succeeds, the automated pipeline had the permission problem — consider the full component reset in our guide on update errors in 24H2 to heal it.
- Create a fresh administrator account and try the manual install there to isolate profile issues.
- If it works in the new profile, migrate your data — the old profile’s permissions are damaged.
Closing
0x80070005 is a permission problem wearing an error code costume: find the gatekeeper — usually antivirus or broken folder ACLs — and clear it. Run elevated, pause the guards, refresh the folders, and repair the descriptors. Access denied stops being mysterious once you know where to look, and it rarely requires anything drastic. Permission problems feel personal but they are mechanical: something guards a resource the installer needs. Identify the guard, satisfy it, and the update proceeds. Document the cause — access-denied errors love to recur.
