This is something I have been meaning to type up for a while! This thread is for those of you with two or more Windows 10 enabled PC’s, Laptops or Tablets at home who do not have access to very fast (lets say, 100Mbps+ for arguments sake) internet.
Starting with Windows 10, Microsoft introduced a new feature known as Delivery Optimization which sounds very promising - but like most things Windows, is a bit more hype than function. However, in this case it is actually very good so far just not as mature a technology yet. Businesses have other solutions available from Microsoft, but these are not available to home users.
For the techie crowd:
Delivery Optimization allows for Peer-To-Peer sharing of Windows Updates between computers. It can be done at two levels - with strangers over the internet (WAN) & your home network (LAN), or just over the LAN (default). This provides a huge advantage for those with slow internet - once you have updated one system others on your home network can grab the update from it, rather than from Microsoft. Most home networks will be using Gigabit (1000Mbps) on cable connections and speeds into the hundreds of Mbps on WiFi depending on the generation of adapter in your systems and router. Either way, this is much faster than typical internet access unless you are fortunate to have fiber optics right to your home.
This is where things begin to fall a bit short, however. For anyone using Windows 10 Home edition - you are forced to get updates whether you like it or not. For Pro users, you can get away with being lazy with the updates - but this will shoot you in the foot because by default the delivery optimization service only stores updates for three days. After that you are getting the whole package from Microsoft directly.
Let's Get Started!
First, you will need to identify in your home which system is either turned most often and/or is used the most often. We will refer to this system as your server and the other systems as your clients. The settings below will be mostly the same with a couple key differences between the two.
Your server should be a computer that is turned on often and that you are comfortable updating routinely. Microsoft updates Windows on Patch Tuesday - the second and fourth Tuesday each month. Some sporadic Windows Defender updates may come at other times. For specific timings see here:
Local Policy Editor
To make the setting changes, we will use the Local Policy Editor - which is only available to Windows 10 Pro. For Home edition - you would have to do registry edits which I do not recommend unless you are very comfortable with what you are doing. If you’d like to try it, you can find what registry areas to look in with this lookup tool:
You can find the Local Policy Editor by searching for it by name in your start menu or for “Group Policy”.
Inside the Group Policy Editor we are going to adjust four policy settings.
They are under:
Computer Configuration → Administrative Templates → Windows Components → Delivery Optimization
On all Machines - "Server" included:
- Max Cache Age (in seconds): Set to either 0 (unlimited) or some other long period like 2,592,000 (30 days), so the updates are kept long enough for you to get to all your systems. You can set 0 on your server and 30 days on the client if you’d prefer as well.
- Minimum Peer Caching Content File Size (in MB): Set to 1MB. This means that even the small updates are retained. If you use Microsoft Office, you will often see many smaller patches come in instead of singular large ones.
I also recommend going to the Windows Update settings → Advanced Options and turning on _“Receive updates for other Microsoft Products when you updates Windows” as this will grab MS Office updates etc, which can also be shared.
At the bottom of the Advanced Options page, also click Delivery Optimization and make sure “Allow Downloads from other PCs” is turned ON and set to “PCs on my local network”.
On Clients:
-
Delay Background Download From HTTP (in secs): Set this to any moderate delay, I use 600 seconds (10 minutes). This settings means that when your client machines goes to automatically update Windows in the background, it will wait the set time before downloading from Microsoft. This gives it more time to find other computers on your network to get the download from first. The length is okay because as a background task, you won’t really notice.
-
Delay Foreground Download From HTTP (in secs): Set to any minor delay, I use the recommended 60 seconds (1 minute). This is the same type of delay as above except it applies when you click the “check for updates button”. If you are manually trying to run updates, a longer delay is just wasting your time.
We don’t set the delay on the “Server” as it will be the first to get the updates - so it has to go to Microsoft, and there is no reason to delay that.
On Clients with Low Disk Space:
Since above we set the length of time to keep the updates as unlimited - you will run into storage problems eventually - or you would, but Microsoft has set the default max cache size as 10GB. You can alter this with the Absolute Max Cache Size (in GB) policy setting if you need to set it lower on say, a tablet. There is also a version of this policy that uses a percentage instead of absolute value.
Monitor Your Results:
With this in place, you can now monitor your updating across the LAN from the Windows Update menu on Windows 10. Just go to Windows Update → Advanced Options → Delivery Optimization → Activity Monitor. Here’s some samples from what I setup part way through this month.
From HolloPointeNorth - as my “server”:
From my Gaming PC:
From my Work PC after applying these settings company wide (with Active Directory / Group Policy via Windows Server 2016):
We're done!
That’s it. As you will see, there are more settings that can be tweaked. Some of which I may experiment with but for now this has been working fine. I’d be happy to discuss other settings, including those for Windows Update itself too.
I hope this can help anyone to make the pain of Windows Updates a bit more bearable!