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.

Reviewed guide Updated 2026-04-21
Elevated Command Prompt
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

  1. Start from the exact symptom on this page: Updates stay stuck at downloading or installing
  2. 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.
  3. This workflow is tuned for this repair, so avoid mixing it with unrelated repair commands too early.
  4. Reboot if the servicing stack or protected files were changed, then retry the original Windows action.
  5. 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.