Why do Windows 7 updates take so long to install?

Solution 1:

Starting with Windows Vista the Updates come as difference files. So during setup, Windows need to creates the real files based on the diffs. This is CPU intensive and takes some time especially on really old CPUs like your Pentium D.

In your provided xperf file you have a high CPU usage from TrustedInstaller because it needs to create a pending.xml. This means that the updated files were in use and had to be updated during shutdown/boot which results in this dialog:

enter image description here

Here the CPU is busy writing the XML data

wcp.dll!Windows::ServicingAPI::CCSITransaction::GeneratePendingTransactionContent 

and writing data into the registry

wcp.dll!Windows::Rtl::SystemImplementation::CKey_IRtlKeyTearoff::CreateNewKey.

But the bigger issue is that you try to install 5 .Net Framework updates:

enter image description here

Now Windows is busy because the .Net optimizer service mscorsvw.exe runs to compile the updated .net files into machine code to improve performance and reduce memory usage of .net applications.

enter image description here

This is also very CPU extensive and your Intel Atom CPU N270 @ 1.60GHz is too slow.

Microsoft provided a script to speed this up.

Solution 2:

To find out why your computer is taking so long install the Windows Updates, open your Start Menu and type Resource Monitor. You will be presented with a screen showing a summary of the resource use on your computer.

On the right side of the window you will notice four graphs indicating activity in the four major subsystems of your computer (CPU, Disk, Memory, and Network). What you're looking for is your computer's bottleneck, i.e. the subsystem that's holding everything else back (there's usually only one at a time).

Interpreting the graphs

Observing each graph you'll see a green shaded area and a blue line, both representing values in the Y-axis of the chart.

CPU

The blue line indicates how much of your processor's maximum frequency is in use. If the blue line is at the top of the graph, your CPU is running at 100% of its rated speed; if it's halfway up the chart, then the CPU has been throttled down 50%.

The green area shows how much (on a scale of 0-100%) of your processor's available speed your PC is using.

Your CPU is the bottleneck if the green shading fills the graph, in which case the blue line should also be at the top.

Disk

The blue line indicates how busy your disk is from 0% (idle) to 100% (working as hard as it's capable of under the circumstances). The green line indicates the total Mbps/Gbps of data is being read+written, on a scale of 0-100% of the figure shown at the top of the chart. So if the chart shows 10 Mbps and the green line is 75% of the way up, your disk is moving a painfully slow 7.5 Mbps of data.

Your disk is the bottleneck when the blue line is pegged at the top of the chart. This, by the way, is my guess as to where your bottleneck is but that's beside the point since I'm teaching you how to figure it out yourself.

Network

The network chart is like the Disk chart. The blue line shows what percent of the total bandwidth of which your network adapter is capable is in use, while the green line shows how much data is being used, again according to the scale shown.

Your network is the bottleneck if the blue and green lines are at the top of the chart.

Memory

The blue line shows what percent of your physical memory is in use while the green line shows how many hard page faults per second are occurring.

It's unlikely you'll find the blue line all of the way to the top of the graph since Windows will proactively move data from memory to the hard drive to keep some free RAM available (this is called paging). However, if a lot of RAM is in use and the hard drive is quite active then memory is probably a bottleneck. The number of pages/sec can also indicate when you're too low on RAM. If you have a consistent occurrence of hard page faults, that means Windows is hoping to find data in (fast) memory but is having to look in the pagefile on the (much slower) disk for the needed bits.


By observing Resource Monitor while your computer is working you can quickly determine what subsystem is showing things down, and therefore what upgrade would most effectively improve performance.