Updated: May 5, 2017
This is a rather weird problems that I've been battling lately. If you've followed my recent Windows related articles, I had issues with the Windows Update (WU) functionality on my relatively brand-newish Lenovo Ideapad Y50-70 laptop, which necessitated a complete system image back to an older state, a worthy lesson of its own. However, this on its own posed a big problem with the combo of UEFI, ATI and Windows 8.1, but we managed that hurdle just fine.
Several weeks after this incident, I noticed the laptop was noisy, with the CPU fan working overtime. Not without due cause, as the processor was running at 13%, roughly all of one logical thread, and this was the svchost.exe process that also controls the WU service. I knew I was facing botched updates again, and indeed, Windows 8.1 would never complete the search for updates, no matter how long I left it running. I decided I needed to fix this.
The symptom is simple - Windows 8.1 checks for updates, but never completes, and the system is busy running at high CPU. This means you cannot install updates, and if you care about this functionality, you may seem stuck. Or might be even worried.
For me, the problem manifested itself sometime in between the May 2016 update cycle and the recent rollup update patch availability. I did not install any new drivers since, or added new hardware. My guess is that Windows Update is missing one of the patches, and since it cannot find it, it gets stuck in a loop. For some odd reason, during one of the update cycles, a critical piece of data somehow got left out. That's my assumption.
There are no obvious errors in the logs, except one - this is not correlated to whatever you're facing, but the fact you're reading this tutorial indicates some of the information captured here is relevant to your case.
Windows Store failed to sync machine licenses. Result code 0x80070002
I searched online for the meaning of this error, and it's a whole jungle. We will need to go through the suggestion and options slowly, one by one. Anyhow, if you're curious, you can consult the list of error codes for WU, or search for your specific entry. You will get hundreds of results, and they will all be different than yours, of course.
This is probably the funniest part in this whole story. I went online and started reading. The Internet gave me half a dozen different leads - most of them official suggestions and tools from Microsoft - but they never fixed my issue. For the sake of completeness of this guide, we will mention them all, and then actually focus on the one thing that did work. Again, it's not about going back to the previous image state or backups, it's about figuring out the real issue and resolving it. Because I cannot afford to waste time going back to an older time snapshot only to have it corrupted a few days later.
Windows 7 and above come with a neat troubleshooting wizard, which lets you try to fix problems in an automated way. This is a convenient solution for less skilled users, and those who are not in the mood to dig in the system internals.
The troubleshooter claims to have found and fixed the error - 0x80070490, which is different from the one in the Event log. This also completely reset the update history, but that's fine, WU rebuilds the index as needed. But this did not solve the issue.
The next tool I tried is the Deployment Image Servicing and Management (DISM) Tool. This handy utility is designed for professionals and system administrators, and it is built into the Windows, so you just need to use it. The official instructions suggest the following command:
C:\windows\system32>DISM.exe /Online /Cleanup-image /Restorehealth
I let DISM run for a while, and it completed, claiming it has fixed errors. It has not really.
C:\windows\system32>DISM.exe /Online /Cleanup-image /Restorehealth
Deployment Image Servicing and Management tool
Image Version: 6.3.9600.17031
The restore operation completed successfully. The component
store corruption was repaired.
The operation completed successfully.
I tried also running the latest WU diagnostics tool, which is available as you run through the interactive online wizard. The tool is very similar to the Troubleshooter, and it actually completed a much more thorough run, and seemed to have found even more errors. Please note that the error code kept on changing all the time, plus I occasionally also had the 0x80244019 crop up on me a few times, but this merely happened because the WU service was stopped, and it just needed to start.
However, despite the abundance of good things that were supposedly fixed by the diagnostics utility, none of that made any difference. WU would remain stuck, with or without an interim reboot, and the CPU would hover at the 12-13% mark.
I tried the official PSWindowsUpdate module, which is supposed to grab updates through Powershell, and work around any inherent problems in the core functionality. Seems like a really cool tool. I followed the instructions as provided by Kapil Arya in his highly practical guide on WU errors, but this really did not get me anywhere. It is also worth noting that the tutorial refers to a slightly different set of problems.
Set ExecutionPolicy RemoteSigned
I tried the standalone WU patch KB3138615, and it was not available for direct download, so I had to go through the Microsoft Update Catalog, which was just fine. The patch did run and install, but I still couldn't get any updates.
I also tried changing DEP settings - makes no sense really, and seems like pure witchcraft repeated in the articles online over and over, and of course, it made no difference, but I wanted to make sure I was being extra thorough.
The one thing I did not do is to manually reset WU components. This is a long and protracted action, and it has a good potential to screw things over. Besides, all of these actions can be scripted, and they should be a part of the Troubleshooter or the diag tools anyway, and I guess they are anyway. So nope.
Lo and behold, I resorted to using an unofficial tool to try to fix WU. This is quite radical, as I don't normally endorse and/or believe in third-party utilities for system management. But in this case, I had nothing to lose, so I decided to give it a try. My experience with Autopatcher was lukewarm, as I tried to use it to work around the slow Windows 7 update functionality, before I had finally found and tested the official fix that was released by Microsoft sometime in the summer of 2016. Before cool was cool.
I download Autopatcher and let it grab all critical and non-critical Windows Update, a solid 2.1 GB worth of data. I then tested that I could actually install a few of these, trying the January Adobe Flash Player fix and several others. Worked fine, and on subsequent launches, they were indeed removed from the list of available hotfixes.
What did surprise me is that I had a long list of old 2014-2015 fixes listed, which supposedly Windows did not install, need to install or even bothered to offer. I decided to install all of them. Autopatcher completed the action just fine. After reboot, they were still showing, so I guess they were superseded by other updates, but more importantly, Windows Update was working again! Whatever Autopatcher did and tried to install must have finally resolved the loop that was affecting the system. I guess a missing hotfix was finally applied, or a corrupt library replaced, and the service was able to resume normal work. This sounds like a silly thing, but actually installing all the old stuff helped.
Since I wrote this article - and just before publishing it - the exact same problem with the exact same symptoms cropped up on my Asus Vivobook. Therefore, I used the same method, and fixed the problems reliably with Autopatcher.
The funny part is, the issue keeps coming back - WU simply stops finding system updates after a while. Luckily, multiple times, on two completely different systems Autopatcher helped resolve the issue with good, consistent results. Just run it, install any which update, and after that, the system will resume its normal fast WU operations.
This shows me that whatever it is happening here, it is an inherent problem in Windows 8.1, and it sure does not make this semi-intelligent operating system any better, or give me reasons to upgrade to Windows 10. On the contrary. Conspiracy nonsense aside, if a vendor cannot or does not want to resolve core issues in a critical component of their flagship product, I do not intend to use their future releases, then.
A recommendation to anyone facing this - do not upgrade hoping that will make the issue go away. It might, but that's a workaround rather than a solution. My own method is also a hack in a way, but it does give you the WU functionality back, as it should be. Anyway, two different Windows 8.1 boxes, different hardware, different vendors, even different software stack, same problem. This is a pure OS issue. Don't sweat it and don't blame yourself. Use Autopatcher to fix the glitch and resume normal operation. Reliable, safe, tested 10+ times in the past 5-6 months, very good.
I am not proud of the work I have done here. But I find it quite silly that none of the official tools actually did anything useful or meaningful, and it was a brute-force approach with a third-party software that somehow helped get me past the loop hurdle. For that matter, reinstalling the system might have fixed it, but I doubt it. After all, restoring to a previous image only helped temporarily, and there was something else that made the system go mad.
Overall, I still do not think Autopatcher or WSUS Offline are the way to go, but if you must, they are probably better than a system with no updates and/or broken WU. Still, we did learn a lot here, including how to cope with different errors, the use of several troubleshooting tools, some PowerShell tricks, a few other trifles, and then the rather unexpected apply-all fix through Autopatcher. A sudden twist in the plot.
If you ever encounter a similar problem, start with simple things first, and slowly work your way toward desperation and bigger changes. Official utilities, and if they do not help, consider Autopatcher. I am pleased by the result, and it does give me more confidence in using this program, even if it did something it should not have. I was asking it to give me update, but it actually fixed Windows Update. Get the poetic paradox in this whole thing? The thing is, with Windows 7 and 8.1 problems we've seen in the last few years, I would really hope Microsoft puts more focus on such a vital functionality. Anyhow, I hope this tutorial helps you restore your sanity. Take care.