I’ve just spent a day trying to bring Windows Update back to life on my desktop after realising it hadn’t done a successful update for over a year (haven’t really used it much this past year). Over the course of the day I encountered a few issues as I tried to troubleshoot including; Stuck on checking for updates for hours (appears to be hanging or never completing), Showing error 0x80070057, WARNING: Failed to filter search results, error = 0x8024000B, Unable to check for updates etc. This might work on other versions but the below was specifically done on Windows 7 SP1 64-bit.
Below are the steps that finally appear to have fixed my setup – try this at your own risk, if you are technically comfortable with the instructions and most importantly are happy that you could restore your system if you completely break it – I’m not a Windows expert but trial and error of plenty of other solutions led me here. I’ve tried to include all references I used when trying to find something that worked at the end of this guide… there were a lot so feel free to have a look through them in-case they help your specific case.
In Start->Search Bar enter cmd, when it appears right click and select “Run as Administrator”.
Enter the following in order, if you encounter an error with any of these you may want to abort and search online for a solution to that error. If you encounter an error with stopping/starting a service you might find a restart will help.
net stop cryptsvc
net stop wuauserv
ipconfig /flushdns
del /s /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
cd /d %windir%\system32
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
regsvr32.exe /s atl.dll
regsvr32.exe /s shdocvw.dll
regsvr32.exe /s browseui.dll
regsvr32.exe /s cryptdlg.dll
regsvr32.exe /s jscript.dll
regsvr32.exe /s vbscript.dll
regsvr32.exe /s scrrun.dll
regsvr32.exe /s msxml.dll
regsvr32.exe /s msxml3.dll
regsvr32.exe /s msxml6.dll
regsvr32.exe /s actxprxy.dll
regsvr32.exe /s softpub.dll
regsvr32.exe /s dssenh.dll
regsvr32.exe /s rsaenh.dll
regsvr32.exe /s gpkcsp.dll
regsvr32.exe /s sccbase.dll
regsvr32.exe /s slbcsp.dll
regsvr32.exe /s mshtml.dll
regsvr32.exe /s oleaut32.dll
regsvr32.exe /s ole32.dll
regsvr32.exe /s shell32.dll
regsvr32.exe /s initpki.dll
regsvr32.exe /s urlmon.dll
regsvr32.exe /s wuapi.dll
regsvr32.exe /s wuaueng.dll
regsvr32.exe /s wuaueng1.dll
regsvr32.exe /s wucltui.dll
regsvr32.exe /s wups.dll
regsvr32.exe /s wups2.dll
regsvr32.exe /s wuweb.dll
regsvr32.exe /s qmgr.dll
regsvr32.exe /s qmgrprxy.dll
regsvr32.exe /s wucltux.dll
regsvr32.exe /s wintrust.dll
regsvr32.exe /s muweb.dll
regsvr32.exe /s wudriver.dll
regsvr32.exe /s wuwebv.dll
net start bits
net start cryptsvc
net start wuauserv
Restart Windows
After restart, download and run the Windows Update Diagnostic from the Microsoft website
https://support.microsoft.com/en-us/kb/2714434It may take a while once you’ve got it running, when I ran it there were one or two errors around downloading Windows updates – don’t worry yet we’ve still got something else to do.
Next install the following KB updates, best bet is to search on the name I list below as they appear to move (I found a few broken links when following other guides). These appear to be dependant on the updates available so while it might be accurate now, if you’re reading this later you might find you need more – I’ll explain how I picked these after.
Windows6.1-KB3185911-x64
Windows6.1-KB3178034-x64
Windows6.1-KB3172605-x64
Windows6.1-KB3177725-x64
Windows6.1-KB3179573-x64
Windows6.1-KB3145739-x64
Windows6.1-KB947821-v34-x64
You’re looking for the standlone Microsoft Standalone Update packages for these, filename is as above with extension .msu.
Give Windows another restart.
When it comes back up, go to Windows Services and make sure that Windows Update and Background Intelligent Transfer Service are both running and set to Automatic. Open Windows Update and select change settings on the left. If its set to Install updates automatically then change it to Never Check, click OK and close Windows Update. If its set to Install Updates Automatically then change it to Never, click OK and close, reopen and change it back to Install Updates automatically – at this point regardless of what the setting was originally, it should now say install automatically.
From the main Windows Update screen hit check for updates. If its worked as it did on mine (after trying and retrying the above in tens of different combinations) then after about 15 minutes it should come to life. If you’ve got a few years of updates waiting then it might take longer.
Now, earlier I listed some updates to download and install separately, Windows Update logs out to WindowsUpdate.log in the Windows directory (C:\Windows on a default install). In there I noticed after I’d got past a lot of the earlier errors, it was initially populating the log with loads of entries like this;
I basically dug through and searched for the last 5 or so entries, searched for them and installed them separately. I don’t know if a specific one helped or resolved a security issue but it was only after I got those and restarted that Windows Update came back to life.
Hope this helped, if it did or you found something else worked then please leave a comment!
References (Sites I used when trying to figure this out);
http://www.sevenforums.com/tutorials/91738-windows-update-reset.html
https://gallery.technet.microsoft.com/scriptcenter/dos-command-line-batch-to-fb07b159
http://www.kuskaya.info/2016/05/15/how-to-troubleshoot-windows-update-error-message-warning-failed-to-filter-search-results-error-0x8024000b-on-windows-7-sp1-and-windows-server-2008-r2/
http://answers.microsoft.com/en-us/windows/forum/windows_7-update/windows-update-hangs-on-checking-for-updates/b762abf5-655c-4a60-aabc-9f59785bd8d9