Q: I'm running Windows Update. It scans, but the scan hangs and never finishes. What should I do?
March 14, 2011
A: I recently had exactly this problem. During an update, the update crashed and it seemed to leave my update database and manifest corrupt, which is why it could no longer scan for updates. There are several steps to try to resolve this, and I'll close with what worked for me.
First, go to the Windows Update troubleshooter and run the Microsoft Fix it. They may resolve your problem, in which case you're done.
If that doesn't work, go to this support page and download the System Update Readiness Tool for your OS and run it. This is a large file that basically scans for and corrects problems found in your manifest, database, and system. After it's done, try Windows Update again. My system still didn't work after this. (I was really corrupt!)
Now I'll go into the more under-the-covers solutions.
You can try and verify the integrity of your system files. Open an elevated command prompt (Open the Start menu, type cmd, right-click Command Prompt, and select Run as Administrator) and run the command
sfc /scannow
The next option is to stop the Windows Update service and its related services with the commands
net stop wuauserv
net stop bits
net stop cryptsvc
If the Windows Update service won't stop, go into services.msc and set the Windows Update service to startup type Disabled, then reboot the box. Once the reboot is complete, Windows Update won't be running. Once Windows Update isn't running, you're going to rename the local software distribution and catroot2 folders so they're re-created. Navigate to %windir% (e.g., c:windows) and rename SoftwareDistribution to oldSD, then navigate to the system32 folder and rename Catroot2 to oldCR2. Start the services you stopped. (If you set Windows Update to disabled, you need to go into services.msc and set the service to Automatic (Delayed Start) before you do this.) Once your test is complete, you can delete the folders you renamed (i.e., oldSD and oldCR2).
If it's still not working, you can re-register all the Windows Update DLLs. You need wuauserv, bits, and cryptsvc stopped while running these, then start them after running. So you may need to set Windows Update service to disabled again, reboot, etc. The easiest way is to post the below into a batch file and run it.
regsvr32 c:windowssystem32vbscript.dll /s
regsvr32 c:windowssystem32mshtml.dll /s
regsvr32 c:windowssystem32msjava.dll /s
regsvr32 c:windowssystem32jscript.dll /s
regsvr32 c:windowssystem32msxml.dll /s
regsvr32 c:windowssystem32actxprxy.dll /s
regsvr32 c:windowssystem32shdocvw.dll /s
regsvr32 wuapi.dll /s
regsvr32 wuaueng1.dll /s
regsvr32 wuaueng.dll /s
regsvr32 wucltui.dll /s
regsvr32 wups2.dll /s
regsvr32 wups.dll /s
regsvr32 wuweb.dll /s
regsvr32 Softpub.dll /s
regsvr32 Mssip32.dll /s
regsvr32 Initpki.dll /s
regsvr32 softpub.dll /s
regsvr32 wintrust.dll /s
regsvr32 initpki.dll /s
regsvr32 dssenh.dll /s
regsvr32 rsaenh.dll /s
regsvr32 gpkcsp.dll /s
regsvr32 sccbase.dll /s
regsvr32 slbcsp.dll /s
regsvr32 cryptdlg.dll /s
regsvr32 Urlmon.dll /s
regsvr32 Shdocvw.dll /s
regsvr32 Msjava.dll /s
regsvr32 Actxprxy.dll /s
regsvr32 Oleaut32.dll /s
regsvr32 Mshtml.dll /s
regsvr32 msxml.dll /s
regsvr32 msxml2.dll /s
regsvr32 msxml3.dll /s
regsvr32 Browseui.dll /s
regsvr32 shell32.dll /s
regsvr32 wuapi.dll /s
regsvr32 wuaueng.dll /s
regsvr32 wuaueng1.dll /s
regsvr32 wucltui.dll /s
regsvr32 wups.dll /s
regsvr32 wuweb.dll /s
regsvr32 jscript.dll /s
regsvr32 atl.dll /s
regsvr32 Mssip32.dll /s
None of this worked for me. I had to use a combination.
Set Windows Update service to disabled and reboot.
Rename the SoftwareDistribution and Catroot2 folders.
Set the Windows Update service to Automatic (Delayed Start).
Run the System Update Readiness Tool.
This time, the System Update Readiness Tool ran without hanging and fixed my problems.
Hopefully at least one of those will work for you. If it still doesn't, who needs updates anyway .
About the Author
You May Also Like