Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a question that is not related to a problem I have. Just something I'd like to understand.

Why are Windows update so long? First Windows Update need to find witch updates you needs and this take about 5 minutes. What is happening behind the scene during those 5 minutes? I would have tought that it would be enough to compare the updates you already have to the complete list of updates or to check the version numbers of a couples files.

Then when it comes time to install the upgrades, they're also taking a long time. Some 1 Mb updates takes 2, 3 or 5 minutes to install. What is taking so long. I would have though that it was simply a mater of backup the old file, uncompress the new files, replace the old file. This should be really fast. Is Windows doing something else?

For comparison, under Linux, you can find which updates you need in about 20 seconds and installing them is usually pretty fast (The time to uncompress the files). I can do a complete updgrade of my linux machine in about 25 minutes (download 600-800 Mb of updates, hundreds of them and install them) while under windows 25 minutes is the time it needs to find witch update are needed and install about 5-10 updates.

I just updated a Windows XP home from SP1a to SP3 + all other updates. It took me more than 3 hours. Doing something like that in the Linux World takes about 30 minutes. I don't want to bash Microsoft here. I genuinly want to know what they do differently that makes it so long.


locked by Mark Henderson Nov 18 '12 at 21:23

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

One thing that makes a differences. Any .net update usually trigger a recompile of some components. – Zoredache Jan 29 '10 at 18:57
With a modern machine and decent connection (or local WSUS cache) I've never had anything of that sort happen... detecting and applying 40+ updates 300MB+ only takes a few minutes on Vista/2008 and later in my opinion... unless the hardware blows ^^ Doing the same on the parent's old XP machine and slow DSL internet connection sure takes time but... it's an old and slow thing. Also I've seen Windows Update take forever to find updates when there's small DNS configuration problems or other network issues. – Oskar Duveborn May 7 '10 at 20:42

Package Managers like apt-get were built with dependencies in mind and your sources.list neatly separates you from older versions and distros. It wasn't always this easy in Linux land, that's for sure.

Windows Update was an after-thought (much like alot of Windows components in general), so there's a lot of validating and verification of versions that needs to happen to make sure things don't break.

And things break on both systems :). Some Windows installations don't like a particular update and on Linux all it takes is a library update with an incompatible API change (gettext tends to do that sometimes) where not all dependencies are prepared for it. – Joey Oct 31 '12 at 6:13

Newer versions (XP+) of Windows make a restore point at least at the beginning of an update session, and sometimes again before some of the following individual updates. This adds a long 'what the heck is it doing' type of pause.

Perhaps try doing your next round of updates with System Restore turned off, if you dare! :)

Also, if you manually make a restore point before you do the updates, it'll probably be a shorter wait (but a longer over-all process).

I wouldn't really recommend turning system restore points off. They're a very good option of restoring a broken update which otherwise might require a reinstall – Joey Nov 18 '12 at 21:10
I wasn't recommending turning them off permanently, just for testing/observation purposes. :) – techie007 Nov 18 '12 at 21:19

Because Windows is a complete all-in-one solution, and Linux breaks down everything piece by piece.

Windows needs to check quite a few Microsoft details (DirectX, Office, Windows, Windows Media Player, etc. ad nauseam) and how they are interacting, as well as which versions of which are compatible with which other versions. Let's not forget that some updates are roll-outs, so they contain other updates. And some updates may have gotten installed separately for whatever reason, and if that happens then you have to follow a different upgrade route.

Maybe you're replacing a 10meg file. Maybe you're diff'ing it and only changes a few lines but it has to parse it all...

They, simply put, have to handle the entire OS. Linux is only the kernel -- and GNU is the userspace. Each utility is only dependent upon itself, so it's easy for them to update themselves.

In addition windows needs to be able to undo all of those changes should you require the install to be reverted. – Jim B Jan 29 '10 at 19:41

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