Sep 23, 2014 - I'm trying to run Windows Update for a friend. It looks like MSoft is trying to download 148 multi-megabyte updates simultaneously, which is why. Windows 7 Home Premium 64 bit SP 1 ASUS laptop K52F Windows update is extremely slow. Windows Update IS downloading updates but the download speed is so very slow - about 10 - 15 kbps - that Windows Update is essentially unusable.

I have been installing bug fixes on a number of Windows 7 computers lately and it has not gone well. Windows Update found the missing patches and installed them, but it took a loooooooooooooooooooooong time. Even machines with fast SSDs and a fast connection to the Internet, were painfully slow.

Last night one machine was taking so long to determines the missing fixes, I gave up, went to bed and let it run overnight.

Turns out, it's not just me.

A month ago, Ed Bott wrote that it took him over 24 hours to install the bug fixes needed to bring a virgin copy of Windows 7 Service Pack 1 up to date. Granted, it was in a virtual machine, which has to slow things down a bit, but still. Just getting to the first step, determining that the system needed 216 patches, took more than eight hours.

Service pack 1 dates back to February 2011, an eon in this field. By not releasing a second service pack for Windows 7, Microsoft has abandoned and antagonized their customers. Who thought that was a good idea?

Bott researched the problem, and suggested installing two particular bug fixes before installing the rest of them:

Download two updates before starting the installation process, KB3083710 and KB3102810, and copy them to a USB flash drive. Install Windows 7 with SP1 and leave the network cable disconnected. Install those two updates from the flash drive before connecting to the network and running Windows Update for the first time, and you can cut that horrendous delay down to a matter of a few minutes.

Even with the two suggested patches, it still took Bott eight hours to install the rest, including a bunch of restarts that required manual intervention.

Windows 7 slow after update

The patches Bott recommended were released in October and November of 2015. Windows 7 itself, was released in July 2009. After six years, Microsoft still hadn't gotten the process of installing bug fixes right.

It turns out, that Ed Bott's fixes are not sufficient. A couple weeks ago, Woody Leonhard wrote about people, like me, that were still experiencing slowness with Windows Update:

In the past two days, AskWoody.com has been flooded with even more complaints. The complainants aren't engaged in a Marquis de Sade re-enactment of building a new Win7 from scratch. They're people who keep their machines up to date and simply want to see the latest Win7 patches. At one point, it appeared as if installing the latest Windows Update Client -- version 7.6.7601.19161, from KB 3138612 -- would help, but for many people, that doesn't work. The latest kernel patch, KB 3139852, looked like a savior at one point (for reasons unknown), but it fizzled out, too. Instead, would-be updaters are floundering for an hour, two hours, six hours, trying to get a list of available Windows updates.

After six days of experimenting, Leonhard had his own recommendations for a pair of patches to Windows Update. Neither of his suggested patches are the same as those Bott recommended.

Leonhards first suggested patch, KB3138612, fixes the Windows Update Client software, so, no surprise there. His second patch, KB3145739, applies to a Windows Graphics Component.

Installing just one of these patches does nothing, but installing both of them seems to work magic. Beats me how Woody came to this discovery, he calls the two necessary patches 'an unlikely combination'.

UPDATE: April 29, 2016. The day after this was published, Susan Bradley, writing in the Windows Secrets newsletter, also addressed the issue. She reported that numerous users found that one of Woody's patches alone was sufficient to speed things up. The full article is only available to paid subscribers of the newsletter.

UPDATE: April 29, 2016. To see if you have Woody's patches, open Windows Update and click on 'View update history' in the left side column. Sort the list by Name (it usually defaults to date sequence). The first patch appears in the list as 'Update for Microsoft Windows (KB3138612)' and the second one is 'Security Update for Windows (KB3145739)'.

It goes without saying that Microsoft won't explain anything about this, they have moved on to Windows 10. And, if they haven't moved on, if they still have qualified people working on this, then how come the patch installation process is so problematic after more than six years?

An operating system, like a highway, is supposed to be the road that takes you where you want to go. It seems to me, that Windows users spend far too much time fixing potholes rather than driving.

Is it any wonder that PC sales are declining?

I have Windows 7 PCs that have automatic update turned off. I do updates in batch once a month or so. But each time 'check for update' takes 15 to 30 minutes. I don't understand why checking for updates can be so slow? I have to wonder what is happening in the background. Is it computing hash? Are my PCs with automatic updates enabled suffer the same fate every time it boots up (only that I wasn't aware)?

some usersome user

12 Answers

The checking for updates part is so slow because:

  • Windows 7 uses Component-Based Servicing, which means Windows Update has to work ridiculously hard to determine file and component dependencies/inter-dependencies, maintain side-by-side versions of older files/components, while still making it possible to uninstall individual updates/components but without breaking any other updates/components, all the while taking into account supercedence and god knows what else. The code that does all this must be hellishly complex.

  • Windows 7 64-bit has to maintain both 32-bit and 64-bit versions of each update.

  • Windows has to maintain both GDR and LDR versions of each update, which means on Windows 7 64-bit you get 32-bit GDR, 32-bit LDR, 64-bit GDR, 64-bit LDR for each update.

  • The code behind Windows Update is highly inefficient, probably due to its conceptual complexity. My observations over the last few years are that, as the total number of released updates has increased, update check time has increased in an almost exponential way. To me that's indicative of some kind of recursive algorithms being employed, perhaps to determine superscedence or resolve dependencies.

Unfortunately for us, Microsoft don't like talking about Windows internals so we end up having to figure it out for ourselves or speculate.

misha256misha256

Several facets of the problem were treated in the existing answers.I will try to tie them together by listing the causes in a general manner,without repeating what has already been said:

  1. Microsoft Windows Update mechanism is extremely sophisticated,which unfortunately also means complicated
  2. WU needs to support an incalculable number of hardware and software combinations
  3. WU needs to apply the updates in the correct order
  4. Windows 7 is an older system, and SP2 is overdue and will probably never arrive, which makes for very many updates
  5. The last years, Microsoft was under a great pressure to fix numeroussecurity problems, which resulted in very many hectic fixes,then fixes of fixes and so on to the n'th generation
  6. Microsoft has not been able to optimize enough the update mechanism,which is in general an exponential algorithm, resulting in a brute-forcealgorithm which is rather slow.
  7. Microsoft's WU servers are sometimes over-burdened.

Let us look at these points more in detail.

Windows Update complexities

After an update is released, it can enter into three additional different phases over time: Revisions, Supersedence, and Expiration.

Update Revisions: When changes are made to a previously released update, it's called an Update Revision, where some pieces of the download are changed. This is a partial, not full, update replacement.

Superseded Updates: This is a complete replacement of a previous release, or releases. Sometimes Microsoft will wrap multiple releases into a single package, and that package replaces its encapsulated updates.

Expired Updates: These are updates removed from the list of valid updates. Such updates are no longer applicable and will not be detected for installation. Most times, an update is expired after it is replaced by a Superseded Update.

Updates have also a dependency mechanism, which means that some updatesmay require other updates to be applied first.

Expired Updates are problematic to WU performance, since unfortunately they are not removed from the computer, so they still take part in the calculations,and there are so many of them.Some improvement may be achieved by using Disk Cleanup to Remove Outdated Windows Updates(take first a backup disk image of the system drive, since WU is also very fragile).

Download Windows 7 Free Software

WU Calculations

Because of the enormous number of possible combinations, Microsoft keeps all updates on the WU servers in the format of a humongous tree.Deciding on which updates need to be applied is done by a tree-pruning algorithm, which takes into account the client's installed hardware and software,as well as all the updates that are already installed, which is by itselfa large body of facts that need all be applied successfully when pruning.

The algorithm is not guaranteed to succeed, meaning that WU is perfectlycapable of destroying the OS or even rendering it unbootable.This is entirely understandable, for example taking an update A1, having revision A2, where an update B depending on A was released between A1 and A2.Now go figure whether the order of installation should be A1-B-A2 or A1-A2-B, when the wrong decision can be deadly.

Overburdened WU servers

Wikipedia has this to say about Windows Update statistics :

As of 2008, Windows Update had about 500 million clients, processed about 350 million unique scans per day, and maintained an average of 1.5 million simultaneous connections to client machines. On Patch Tuesday, the day Microsoft typically releases new software updates, outbound traffic could exceed 500 gigabits per second.

These numbers have probably doubled by now, and explain why the WU serversare sometimes unreachable.I am using the WU option of 'Check for updates but let me choose', andmy own experience is that there are days and times when checking for updatestakes longer than I'm willing to wait, requiring postponement.

The long history of Windows 7

Windows 7 was released on July 22, 2009.After about 17 months, Service Pack 1 (SP1) came out on February 22, 2011.This was about 4.5 years ago, which means that SP2 is long overdue.

The good side of a Service Pack is that installing it wipes out the entireupdate history, so that in effect WU starts from zero, exactly as aftera fresh installation of Windows. This of course speeds up enormouslyall the calculations, since there are fewer updates to take into account.

The sheer number of existing updates since SP1 explains why WU calculations are so slow today. For Microsoft the problem can be solved'simply' by upgrading to the more recent Windows 8.1 or Windows 10, so WUwill have a smaller number of updates to take into account.

Conclusion

As Microsoft still continues to apply numerous updates to Windows 7,WU will only keep on slowing down as time passes.

One possible optimization is to Remove Outdated Windows Updates.Another is to use the WU option of 'Check for updates but let me choose',and check for updates early morning or late at night.

Most updates also apply to Windows 8 and 10,so the burden on Microsoft's WU servers will only multiply when Windows 10is soon released. Microsoft also seems to parcel the bandwidth of its WU serversaccording to its own policies, with the accent on serving the more recentoperating systems, so we should expect another slow-down for Windows 7once Windows 10 is released, together with disproportionately faster updatesfor Windows 10.

If WU is too slow, the only real solution is to upgrade to a later version of Windows.

Good news : SP2 for Windows 7 (and 8.1) has arrived

Microsoft has published what is actually SP2 for Windows 7 and 8.1.This update will not be available from Windows Update for some unknown reason,so has to be manually downloaded and installed.

Read about how to get it in the article :
Microsoft overhauls Windows 7 and 8.1 updating -- but don't call it a service pack.

harrymcharrymc

This issue has come and gone over the years with different fixes along the way, so here is my updated guide to this issue as of this date January 5th, 2016

Check the EDIT section below, there is a much faster way to fully update Windows 7 SP1 after a clean install as of May 2016.

This is what I do when I reinstall W7 with SP1 or have issues with Windows update stuck on checking for updates.

If Service Pack 1 is not installed, install it before following this guide.

Download KB-3138612 and save it where you can find it later

Download SUR Tool save it to same place

Restart the PC and disconnect from internet before Windows loads, this is important because at every boot windows will check for updates in the background and this will start the checking for updates hang all over again and will prevent the install of the downloaded packages until it finishes checking, so disconnecting from the internet before Windows loads prevents this.

Once booted install KB-3138612, if reboot is required do so and stay disconnected from internet.

Now install the SUR Tool package, this is a big package and will install many updates along with cleaning up and repairing the Windows update store. It will also cut down on how many more Windows updates will need to be installed later.

After install of SUR package reboot, connect to internet and do a manual Windows Update, it should work much faster now. Even after these fixes I have seen some W7 PC's take up to an hour to finish checking for updates if launched from Control Panel manually.

If you have other Windows updates issues and the 2 updates above are installed, download this Microsoft Windows Update fixit tool (right click 'save link as') run it and select aggressive mode to completely reset Windows updates. Reboot and try Windows Updates from the Control Panel again. This tool fixes issues when the other Microsoft fixit tools fail, at least in my experience.

Update: Microsoft has released a huge update rollup for Windows 7 SP1, this is similar to a service pack but they are not calling it that. This will make it Much faster to update Windows 7 after a clean install, no more Windows update issues and many reboots. This update rollup will bring the system current to patch Tuesday of April 2016.

This is not being released through Windows Update, you have to use Internet Explorer to get it, open IE and go to this address

Type in the search box 3125574 and hit enter key.

Now you will see all versions of this rollup, select the one you need and download it somewhere you can find it later.

Also use the Windows Update Catalog page to download and install this update first, 3020369, it is a pre-requisite for the rollup, then install 3125574, also be sure to be disconnected from the internet when applying these updates.

MoabMoab

When you use ETW/WPR/WPA to check for the CPU usage during the scan you see that the CPU usage comes from wuaueng.dll!CUpdatesToPruneList::AddSupersedenceInfoIfNeeded which is called from wuaueng.dll!CAgentUpdateManager::FindUpdates. The AddSupersedenceInfoIfNeeded method is the slowest thing. This does what the name indicates and looks if the offered/installed Windows 7 updates are still needed or superseded (outdated/replaced by newer ones). This is very slow.

With the last Windows Update Client update from June 2016, which is part of the Windows 7 July 2016 Update Rollup, the update search is fast again.

  1. Download:
    • 32Bit:https://www.microsoft.com/en-us/download/details.aspx?id=53335
    • 64Bit:https://www.microsoft.com/en-us/download/details.aspx?id=53332

Takes only a bit over 1 minute for me to search for new updates. To speedup the setup up of the update KB3172605, stop the WindowsUpdate service (net stop wuauserv).

This WU service stop trick speeds up install a lot, when you install several MSU updates:

In Windows 10 Microsoft fixed the issue by following my suggestion and make the updates cumulative. Here you only need 1 large update to be at the current patch level. This slow checking is no longer needed.

magicandre1981magicandre1981

If past experiences with the XP update are any indication, they occasionally let slip an exponential-time algorithm in there. Which once you have many updates... takes forever. Currently the Win 7 updates are in a similar situation; take a long time, although there's no official explanation for this latest bout of slowness yet. It's interesting that this 'just happens' (to the old versions) when they have a new one out. The cynical me can't help but imagine that someone might intentionally want that to happen, along the lines of [old] Windows is slow? You need a new version. Or maybe it's just the MS way of starting the holiday season.

There is a hotfix for some kind of WU slowness, which is not being offered automatically (i.e. via update itself): https://support.microsoft.com/en-us/kb/3102810 Alas it did not make a real difference in my case, and I've tried it on two different computers one 32-bit and one 64-bit. Also it has been around since October, so it's probably not for the latest issue[s].

FizzFizz

There are about a billion PCs running Windows today. Each PC has some combination of hardware, accessories, OS version, language, IE, device driver version, Microsoft software at various patch levels, security updates, etc. The Windows Update system has to sort through all these combinations to offer the right updates for an individual PC. Each update has properties including dependencies and a 'supercedence' structure.

The first step (first run) in the scan is to determine the OS version, SP, language, PC manufacturer to prune the tree of likely updates for the PC. Based on that first scan, a likely set of update IDs are sent to the device and the local client computes which updates are installed, superseded, etc. and then sends that list to the server and also caches a copy locally for subsequent scans. The server responds to the client request for updates with descriptions, etc. that are displayed in the UI (in the appropriate UI language).

Once a day, a check update is done by the Automatic Updates client in the background and refreshes the local cache of installed updates, so that subsequent scans are just a delta and fast. These are stored in the %windir%softwaredistribution folder on the PC.

A similar process is also performed for previously downloaded updates. The service won't re-download the packages.

Found this post which will help us to at least understand what's really happening during searching. It is written beautifully. So I am posting it as such. You may find the original post at here

A noticeable change in time taken for checking update for installation was there when I changed the Windows update settings to Check for updates but let me choose whether to download and install them

Renju Chandran chingathRenju Chandran chingath

Your best bet in my opinion is to just enable windows updates and switch to the option which lets you download updates but not install automatically. That way, you can get what you want installed without having to wait for checks or background file downloads.

Now, to answer why it's slow. I think it simply comes down to the fact that windows updates was built with the reduction of noticeable impact to users in mind. It uses the BITS service (background intelligent transfer service) to check for and download updates.

Again, the focus with this service is to work in a way that's not disruptive to the user. Speeds are intentionally slow by design as Microsoft never intended clients to turn the update service on and off every month.

What you might look into is getting your own WSUS server setup. That way you can deny updates much the same way enterprise admins do and it can apply or deny those chosen updates to all of your windows devices you own. Making that chore of selectively updating, less of a chore.

GerutaGeruta

It is slow because Windows Update and several other Windows system components use the Microsoft JET Blue database engine, which suffers from notoriously bad performance and is an overall resource hog.

Like others have mentioned, there also appears to be some degree of recursion in the Windows Update code itself, leading to poor performance as the number of updates increased.

Jure SahJure Sah

Just to add another data point. I recently have to bring up a Vista PC. I manually upgraded Vista from SP1 to SP2 but checking for update takes forever. Nothing happened for 24+ hours.

I did some googling that found a solution which includes installing the following updates:

After downloading and installing the updates manually. I ran update check for 10 min and it found 200 updates. Keep in mind this is for Vista but I think maybe something similar exist for Windows 7 too.

some usersome user

I had this problem and what I did was let Windows Update run overnight for the first time on a freshly installed machine. Tips to successfully do that:

  • Go to the energy options, set the standby time to 'never'

  • Turn automatic Windows Update on. The default time of 03:00AM is ok since the search process also takes time

  • It is also recommended to do a 'Windows update needs to update some components ...' process the first time (goes quickly compared to the more than 200 updates in case of Windows 7)

When everything has been updated correctly, you will find a huge amount of patches (about 200) were installed. Windows also defragged and ran Windows Defender updates/scans as well.

Free Updates For Windows 7

After that, the remaining Windows Update cycles (search for updates - install - reboot - search for updates - install - reboot - search for updates ... until # updates has become 0) work much faster.

dreaeldreael

Hey i think my previous answer was not to good but i given good advice how to make pc run faster anyway.At fresh installation of windows 7 i use original but still with slipstreamed updates installation disk, anyway i sugesst you try updates kb3102810 and kb3050256 to install right after fresh installation these two can significiantly increase speed of both searching and installing updates.

Windows Update Slow Download Windows 7 Windows 10

Choova44Choova44

Not hashing, but yes, it's checking a lot (as deep as some DLLs file version). It is slow no matter what system you use.

Windows 7 Home Updates Download

As a solution, keep it off and when there's a day or night you don't need the system too much, turn it on, force it to check for updates and let them all install.

Windows Update Slow Download Windows 7 Download

OvermindOvermind

protected by CommunityDec 9 '15 at 23:41

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged windows-7windows-update or ask your own question.