Quick fix: Force a hard reboot, then run net stop wuauserv + delete the contents of C:\Windows\SoftwareDistribution\Download + net start wuauserv — this resets the download cache and Windows Update can resume without the corrupt partial.
You click Restart now, the screen reads “Preparing to install” with a spinner, and three hours later it’s still spinning. The disk light is off. The fan is quiet. The progress percentage hasn’t moved since you walked away. Windows Update has stalled, and waiting longer won’t fix it — the update package on disk is corrupted, incomplete, or has hit a permissions snag, and the installer is silently retrying in a loop.
Affects: Windows 11 cumulative updates, feature updates, and quality updates.
Fix time: ~20 minutes.
What causes this
The Preparing stage runs three operations: it expands the downloaded .msu package to a working folder, it checks file signatures, and it validates that every patched component currently on disk matches the expected pre-state. Any one of those steps can hang indefinitely if the package was downloaded incompletely (network drop), a previous update left WinSxS in a transitional state, or third-party software (typically antivirus) has handles on system files the installer needs to replace.
The most common version of this stall — a perfectly downloaded package that hangs on staging — is fixed by clearing the partial download and forcing Windows to re-fetch a fresh copy.
Method 1: Force-reboot and clear the SoftwareDistribution cache
The standard recovery. Stops the update service, deletes the cached download, and lets Windows download a clean copy.
- Hold the physical power button for ~10 seconds until the PC shuts off. Wait 5 seconds, then power on.
- If Windows boots to the “We couldn’t complete the updates / Undoing changes” screen, let it finish (that’s the rollback you want).
- Once back at the desktop, open Terminal (Admin) from the Start right-click menu.
- Run these commands one at a time:
net stop wuauserv net stop bits net stop cryptsvc - Open File Explorer and navigate to
C:\Windows\SoftwareDistribution. Delete the Download folder and the DataStore folder. - Return to Terminal (Admin) and run:
net start wuauserv net start bits net start cryptsvc - Open Settings → Windows Update and click Check for updates. The same update should redownload and install cleanly this time.
This works about 80% of the time. If the update fails again at the same point, move to Method 2.
Method 2: Run the Windows Update Troubleshooter and fix component corruption
When the cache reset doesn’t resolve the stall, the WinSxS component store is in an inconsistent state and needs repair.
- Open Settings → System → Troubleshoot → Other troubleshooters.
- Click Run next to Windows Update. Let the troubleshooter finish — it auto-fixes most service-state issues.
- Open Terminal (Admin) and run, one at a time:
DISM /Online /Cleanup-Image /CheckHealth DISM /Online /Cleanup-Image /ScanHealth DISM /Online /Cleanup-Image /RestoreHealth - The RestoreHealth step takes 10–20 minutes. If it stalls at a specific percentage, leave it running; it’s working on a slow file.
- After DISM completes, run
sfc /scannowin the same window. - Reboot, then retry the update from Settings → Windows Update.
DISM downloads replacement components from Windows Update servers as it finds corrupted ones — a clean internet connection is required during this step.
Method 3: Download the .msu directly and install manually
When Methods 1 and 2 both leave the update failing, bypass the Windows Update path entirely.
- Open Settings → Windows Update → Update history and note the exact KB number of the failing update (e.g., KB5034123).
- Visit catalog.update.microsoft.com in Edge or Chrome.
- Enter the KB number in the search box. Pick the result that matches your architecture: x64-based Systems for most modern PCs.
- Click Download, then click the .msu link in the popup to save it locally.
- Right-click the downloaded .msu and choose Open (or run from an elevated Command Prompt with
wusa.exe C:\path\to\update.msu). - Let the standalone installer run. It uses the same WUSA engine but skips the SoftwareDistribution staging that’s causing the hang.
- Reboot when prompted.
The manual install often succeeds where the Windows Update path fails, because WUSA reads the package directly from your filesystem instead of from the download cache.
How to verify the fix worked
- After the post-update reboot, open Settings → Windows Update → Update history and confirm the KB shows Successfully installed.
- Run
Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 5in PowerShell. The failed KB should now appear with the current date. - Open System Information (
msinfo32) and check OS Build matches the build number listed on the Microsoft release notes page for the KB.
If none of these work
If the update keeps failing even after a manual .msu install, an antivirus or endpoint protection tool is almost certainly the cause. Temporarily disable any third-party AV (Norton, McAfee, ESET, Bitdefender) and retry — pause real-time protection at minimum, fully uninstall ideally for the duration of the update. If you’re on a laptop with vendor-specific endpoint software (Dell SafeBIOS, Lenovo Vantage, HP Wolf Security), disable those too. If the update still fails with antivirus disabled, the issue may be a third-party kernel driver — boot into Safe Mode (shift-click Restart, choose Troubleshoot → Advanced options → Startup Settings → F4) and install the update from there. A persistent failure across Safe Mode usually means an in-place upgrade is needed: download the Windows 11 ISO, mount it, and run setup.exe with Keep personal files and apps selected.
Bottom line: A stuck Preparing-to-install screen is almost always a corrupt cache or a WinSxS hiccup — clear, repair, or sideload the package, and the update completes.