I recently set up a fresh Windows 7 system. While the installation completed without hassles, I was worried that an attempt to run Windows Update seemed to freeze in the "Checking for Updates" state.
The problem with Windows problems
In my opinion, there are two major issues that make fixing any problems with a Windows system a major headache. The first one is the completely absence of error messages, and the second one is the preponderance of bad advice on the internet. As expected, in this case both issues hit me full-on. The amount of results that a Google search for "windows 7 update hang" yields is surpassed only by their uselessness. About 30% of the matches are descriptions of the problem with lots of "me too" postings but no solutions. Another 30% consists of advice that ranges from "reinstall windows" and "disable antivirus/firewall" (which still seem to be the first answer to any windows problem), over clearly dubious downloads of "registry fixers" and "cleanup tools" to almost convincing pointers to specific "Windows Update Agent Updates". The problem is that the mass of clearly bogus information makes even those suggestion appears questionable that otherwise sound reasonable. The waters are further muddled by the factw that even obviously irrelevant suggestions are often accompagnied by reports from other people that this "fixed their problem when nothing else helped".
Distilling an explanation
In the end, the most trustworthy advice that I was able to find was from http://wu.krelay.de/en/. In short, the page advises to manually install a few specific updates before relying on the automatic process. This made sense because I do not expect that Microsoft would actually require users to perform any registry manipulations or installation of third-party components in order to get a fresh Windows to an up-to-date state. Furthermore, this was also quite consistent with several reports from users that they had to wait from anywhere between 24 to 48 hours, but after that the update procedure actually continued (which would also explain the various success stories after performing other, more spurious steps: people simply spent the time trying various procedures, but in the end it was the waiting that helped).
In my case even after manually installing the recommended select updates the automatic update did not make any progress for more than 15 minutes. I would have waited a while longer before giving up, but at that point I discovered another potentially helpful tool: http://wsusoffline.net/ - a collection of scripts that download all updates from Microsoft so that they can be applied offline, i.e. even on a system that's not connected to the internet. I judged this to reasonable again mostly because it just downloaded and installed official Microsoft patches, without any dubious registry hackery or other file system manipulation. I figured having the updates available offline could certainly not hurt, in case I needed to do a reinstallation or setup another system in the near future.
The offline updater runs in a terminal window and gives various status messages which already gave me a lot more confidence. At some point, it was saying something along the lines of Identifying required updates. Please wait, this step may take quite some time - and indeed, this step took about 3 hours. In this case the patience paid off though, after three hours it started installing updates and finished in less than an hour. And after this, the automatic update procedure now also finishes checking for updates in less than a minute.
So in hindsight it seems there are two solutions to the problem of Windows Update getting stuck in the "Checking for Updates" stage:
- Don't do anything, after about 1 - 2 days of keeping the system running the upgrades will start coming (I'm not sure if restarting the system resets the procedure).
- Do a manual install of KB3138612 (as advised by http://wu.krelay.de/en/). I expect this would shortened the wait time to about 3 hours.
Note, however, that I did not try either of these solutions (though this would be the steps that I would try should I encounter this problem again). They're just my conclusions from the things that I have tried and read. If you want to follow the procedure that worked for me, do step 2 followed by an offline update installation.