Quick fix: Open Admin Command Prompt. Run: net stop wuauserv, net stop bits, then ren C:\Windows\SoftwareDistribution SoftwareDistribution.old, then net start wuauserv && net start bits. Windows recreates folder. Old version preserved as .old in case rollback needed.
SoftwareDistribution folder holds Windows Update downloads. Can grow huge over time. Cleaning resolves stuck updates, frees disk space, and forces Windows to redownload pending updates fresh. Always rename rather than delete — safer.
Affects: Windows 11 (and Windows 10).
Fix time: ~5 minutes.
What causes this need
SoftwareDistribution stores: pending updates, download cache, update history database. Reasons to clean:
- Disk space recovery (10-30GB common).
- Stuck updates fail repeatedly.
- Corrupted download cache.
- Force fresh start for Windows Update.
Method 1: Safe clean via rename
The standard route.
- Open Command Prompt as Admin.
- Stop Windows Update services:
net stop wuauserv net stop bits net stop cryptsvc - Rename folder (don’t delete — safer):
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old - Also rename catroot2 (catalog cache, often related issues):
ren C:\Windows\System32\catroot2 catroot2.old - Restart services:
net start wuauserv net start bits net start cryptsvc - Windows recreates SoftwareDistribution and catroot2 folders.
- After confirming Windows Update works for 1-2 weeks: safely delete SoftwareDistribution.old.
- For batch script: combine all commands in .bat file. Run as Admin.
This is the safe rename.
Method 2: Delete specific subfolders
For preserving update history.
- For not losing update history database, delete only specific subfolders.
- Stop services as Method 1.
- Navigate to
C:\Windows\SoftwareDistribution. - Inside: Download (pending updates), DataStore (update database), SLS, etc.
- Delete only Download subfolder:
rd /s /q C:\Windows\SoftwareDistribution\Download - Optional: also delete DataStore for full reset:
rd /s /q C:\Windows\SoftwareDistribution\DataStoreBut this loses update history.
- Restart services.
- For per-update cleanup: more surgical. Less risk of issues.
This is the granular route.
Method 3: Use Disk Cleanup for related cleanup
For GUI route.
- Open Disk Cleanup: Win+R →
cleanmgr. - Pick C: drive.
- Click Clean up system files. UAC prompt.
- Tick:
- Windows Update Cleanup: removes installed update files no longer needed.
- Delivery Optimization Files: temp files for peer-to-peer updates.
- Previous Windows installation(s): if listed (after feature update).
- Click OK. Wait for cleanup.
- For deep system cleanup:
dism /online /cleanup-image /startcomponentcleanup /resetbase. Removes superseded component versions. Use cautiously: rollback impossible after. - For monitoring: Settings → System → Storage shows breakdown of usage.
- For combined: rename SoftwareDistribution + Disk Cleanup + DISM = max cleanup.
This is the GUI approach.
How to verify the fix worked
- SoftwareDistribution folder exists with fresh contents (smaller).
- SoftwareDistribution.old preserved as backup.
- Disk space freed.
- Settings → Windows Update → Check for updates works without errors.
- Pending updates re-download fresh.
If none of these work
If Windows Update still broken: Service couldn’t start: check Services → Windows Update → Properties → Logon tab. Set to Local System account. Permissions broken: icacls C:\Windows\SoftwareDistribution /reset /T resets folder permissions. For corrupted catroot2: similar rename approach. For BITS service issues: stop BITS → delete C:\ProgramData\Microsoft\Network\Downloader → start BITS. For chronic update failures: sfc /scannow + dism /online /cleanup-image /restorehealth. For specific KB stuck: download from Microsoft Update Catalog manually. For Cloud Reset: Reset This PC → Keep my files → Cloud download. Fresh Windows + update components.
Bottom line: Stop wuauserv + bits + cryptsvc, rename SoftwareDistribution to SoftwareDistribution.old, restart services. Catroot2 similar. Use Disk Cleanup’s Windows Update Cleanup for additional space.