Windows – Why are Microsoft Windows Update taking so long to install

windowswindows-update

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.

Best Answer

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.