Windows command guide
Reset SoftwareDistribution and Catroot2
When Windows Update is stuck on old downloads, bad signatures, or inconsistent patch metadata, resetting SoftwareDistribution and Catroot2 is often faster than repeating update scans forever.
This guide is written around the specific symptom-command match for reset softwaredistribution and catroot2, not as a generic dump of terminal lines. That makes the page more useful for real troubleshooting and reduces the chance of running the wrong repair step.
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start msiserver
net start bits
net start cryptSvc
net start wuauserv
Best place to run it
Elevated Command Prompt is the right execution context for this page. Because this repair touches protected Windows state, a normal unelevated shell can return misleading access errors or partial results.
Fast repair workflow
- Start from the exact symptom on this page: Updates stay stuck at downloading or installing
- Run the primary repair line exactly as shown: net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv.
- This workflow is tuned for this repair, so avoid mixing it with unrelated repair commands too early.
- Reboot if the servicing stack or protected files were changed, then retry the original Windows action.
- Escalate only after reading the output, usually toward CBS.log, DISM source repair, or Windows Update-specific repair.
Copyable wrapper script
Use this wrapper when you want the page command inside a clearer script block with start and finish prompts.
@echo off
echo Run this CMD sequence in an elevated Command Prompt.
echo Starting targeted repair sequence...
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start msiserver
net start bits
net start cryptSvc
net start wuauserv
echo.
echo Review the output before closing this window.
pause
Verification commands after the repair
These follow-up commands help you check whether the repair actually changed the Windows state that matters, instead of assuming success from a single line.
DISM /Online /Cleanup-Image /CheckHealth
sfc /verifyonly
What problem this command is trying to solve
This page targets damaged update-download caches and signature catalogs that keep reusing bad local data.
- Updates stay stuck at downloading or installing.
- The same failed update keeps coming back.
- Windows Update behaves as if it is reusing broken cached files.
How the command works
The script stops the relevant services, renames the two cache folders so Windows must rebuild them, and then starts the services again.
When it makes sense to run it
Use it before more advanced servicing repair when update files themselves seem stale or corrupted.
Before you run this command
- Open an elevated Command Prompt or PowerShell window before running net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv.
- Confirm that the symptom really matches this guide, especially if you are seeing signs such as: updates stay stuck at downloading or installing.
- Keep any exact DISM, SFC, CBS, or Windows Update error output because those details matter in the next step.
What result to expect
After running net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv, compare the result against the symptom that brought you here. The most useful checkpoint is whether updates stay stuck at downloading or installing becomes less frequent, changes form, or produces a clearer error message. A command page is stronger when it helps you verify a real change instead of just assuming the line must have worked.
How to verify that it worked
The best verification step after net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv is to repeat the action that previously triggered the problem. If the same failed update keeps coming back still appears in exactly the same way, the command probably was not the whole answer and you should move to the next targeted check instead of assuming the page is finished.
Why administrator rights matter here
This command changes system integrity and component corruption. Run it in an elevated shell so Windows can apply the repair instead of only returning an access or privilege error.
Before you run it
Only run it from an elevated terminal. Renaming these folders is safe, but it will clear update history visuals inside Settings.
When this is probably the wrong fix
This is not the right first fix for a single third-party app bug, a browser-only issue, or obvious hardware failure. Use it when the symptom points to Windows image health, recurring update corruption, or protected system files.
What to do if it does not help
If net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv does not improve updates stay stuck at downloading or installing, move to the next repair step that matches the same symptom family instead of piling on random commands. The best follow-up depends on whether the failure is mainly about system integrity and component corruption.
Frequently asked questions
Should I use net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv for this exact Windows symptom?
Use it when the behavior on your PC lines up with the repair target on this page: This page targets damaged update-download caches and signature catalogs that keep reusing bad local data.
What should I check right after net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv?
Check whether the original trigger still reproduces the same failure. For this page, a useful checkpoint is whether updates stay stuck at downloading or installing becomes less frequent, changes form, or points you toward a more specific next step.
When should I not rely on net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start msiserver net start bits net start cryptSvc net start wuauserv alone?
This is not the right first fix for a single third-party app bug, a browser-only issue, or obvious hardware failure. Use it when the symptom points to Windows image health, recurring update corruption, or protected system files.