Why does Windows/Microsoft Updates always take a long time to detect available updates?

TL;DR

When you initiate Windows Updates within Windows XP, you are directed to the Windows Updates website. (Assuming you already have the ActiveX, Installer plug-in installed in your browser,) the website displays a green, scrolling status bar and appears to just hang for a few minutes. Why does this step of the update process take such a long time to execute?

I'm not interested in speeding up the process. I just want to know what the updating software is doing since it's not installing software and it's not peaking CPU & network usage. What stalls the process?


It's a common task for many of us who work in any form of IT position using Windows. Eventually you have to install/re-install a version of Windows and what follows is a very long OS updating process.

For a long time I have accepted the fact that this is a slow process and that's all there is to it. There is a lot to download, and some updates require restarts followed by further updates... Ugh!

This morning I had to go through the process of installing Windows XP with SP3. I'm installing the OS on a VM on an SSD and I've been working on this thing for over 6 hours.

Although there are many ways to knit-pick this process for improvements, there is one step that is always particularly slow and I cannot figure out a good reason why.

That step is the update detection step on a manual update. Specifically, when navigating to the Windows (or Microsoft) Updates page, and then clicking the 'Custom' button to detect your updates. It appears that your PC just sits there for a painful amount of time. Check your Task Manager and it looks like your PC is, in fact, locked because your CPU isn't cooking, so something has stalled. I have no clue what's going on or what would cause this?

What is the updating software doing? If the registry was being searched, shouldn't my CPU usage peak?

Does anybody know what's happening? I can loosely justify why some of the steps in the update process take so long. However, this one doesn't seem to have any reasoning.

UPDATE

Just to clarify, I started with a Windows XP with SP3 iso. After the OS installed (which was actually quite fast,) I started the updates. My initial check found well over 100 critical updates and, if memory serves me correctly, over 40 suggested updates.

I had to do a restart-and-update process at least 4 times yesterday. Again, I'm not looking for a justification of the entire process. Instead, when I navigate to the update page (after the ActiveX component has been installed.) What takes the detection process so long, especially since my CPU is barely being used, memory isn't peaking and my network traffic doesn't tend to spike at all?


It seems that there is something broken in XP's update management interface (perhaps related to the use of ActiveX, perhaps related to the use of the cumbersome 5 part IE/ActiveX/WGA/WindowsInstaller/WindowsUpdate system -- compare to Vista & later's WindowsUpdate/WindowsInstaller system, perhaps the problem stems from both). Sadly, I doubt there is enough interest in this problem (or solving it) to get serious reverse engineering talent on it.

Here's what we know so far (thanks to RLH for pointing out the elephant in the room):

  • Installation from known good latest service pack XP media.
  • Issue noticed after installing ActiveX controls for WU -- Running custom update's detection step takes an inordinate amount of time with:
    • No appreciable CPU loading.
    • Minimal memory/IO loading.
    • Minimal bandwidth / network usage.
    • Insufficient disk activity to warrant the significant delay experienced.

One of the things I've taken to doing is installing IE8 & WI version 4.5 before installing the ActiveX controls and it seems to reduce the time that the detection step takes (also prevents potential problems of botched IE8 &/or WI install during automatic updates, which I have seen several times). The downloads can be found here (respectively):

  • http://www.microsoft.com/en-us/download/details.aspx?id=43
  • http://www.microsoft.com/en-us/download/details.aspx?id=8483

When you connect for the first time to Microsoft's updates service it attempts to upload some AcvtiveX components (not to be confused with DirectX) so that your system can detect and report to Microsoft just what your system might need. (FYI: you can think of ActiveX stuff as sort of like mini programs which might even have viruses! So be sure you trust whoever wants to install this stuff.) Sometimes these updates components need to be updated. In other words, the updates components need to be updated. (Sounds like a skit from Three's Company, doesn't it?) In fact, I seem to recall someone saying that the latest updates components have a bug! So it could be that your system is just another in the long line of affected systems. (Still a bit unlikely, though.)

This updates process is further complicated when Microsoft insists this you're updating an authorized and activated version of Windows XP. (BTW, Vista and above are not hindered with this requirement since you can still update without needing to activate - or use a browser. That could be yet another reason to get out of the stone age and upgrade.) Even worse, IE (which is the only browser that this process works with) gives absolutely no indication that anything is happening when ActiveX stuff is downloaded and being installed. You simply don't know it until it's done (although you probably would have had to OK the process).

And that's just for starters!!!

Next item you may want to consider are all the huge service packs. And it sounds like that may be something you're not doing right. Cause if you sequentially install/apply each SP via the Microsoft Updates process then you're seriously wasting of time!!! You really only need to apply the latest service pack 3 (SP3) which is independently and freely downloadable. Don't rely on the updates process to immediately give it to you either! (It will, but not at first.)

Only after the SP3 is installed/applied should you then start in with the updates process. You can avoid a lot of needless updates, patches and "bull-spit" if you just start off with SP3. The reason is because older SP's like SP1a always want at least a hand full of updates before it realizes there's a newer SP2 to download and apply. And then SP2 does pretty much the same thing! And since SP3 already has all that stuff (it's recursive, in other words) you really just need to start off with SP3 and then move on. (BTW, Vista is NOT recursive like this and you do need to sequentially apply SP1 before applying SP2.)

Now, if you reinstall XP very often then you may want to create a "slip steam" install disk. Slipstreaming will allow you to create a Windows installation disk with all the latest updates, drivers and even programs that you might want installed after a dead clean installation. This is a HUGE time saver for some people. And where XP is concerned you may want to check out a free utility called NLite (http://www.nliteos.com/) to help do it.

There's still one more consideration that I didn't even touch on - bandwidth! You might simply have a bad connection and be trying to update when a lot of other people are trying to do the exact same thing. The "tubes" get clogged, in other words. More likely, it's your end and your ISP just sucks (for a while).

There's also the problem of WiFi not being all that fast due to interference or other similar reasons - assuming you're even using WiFi. (I recommend a hard wired Ethernet connection whenever possible.)

Of course, there's even the possibility that your own machine is trying to update other software or perform some other process while the Windows updates process is trying to do it's thing. Therefore, you might want to change your update settings from automatic to manual and see if things improve a little (probably not).

Anyway, there's a few reasons why things could be slow. Hope it helps...