Introduction
Windows 10 Enterprise first shipped in July 2015 with Windows 10 version 1507, and since then there have been 2 versions, Windows 10 version 1511 and Windows 10 version 1607. In spring of this year (2017) we will see another version of Windows 10 released (Creators Update), which will most likely be Windows 10 version 170x (the x is because I don’t know what month it will release).
Every version of Windows 10 needs to be patched and those patches are released monthly, as each month goes by the patches are getting bigger and as a direct result, they are slower to transfer to the clients.
Express Updates versus Full Updates
When Microsoft releases security patches for Windows 10 on a monthly basis (called Quality Updates), these patches are cumulative, meaning everything in the previous months patches will be included in the latest cumulative update. This patch size growth continues through the lifecyle of the Windows release until after a year or so the cumulative update package itself can be over 1GB in size. For ConfigMgr admins that’s a lot of content to send to your distribution points and Window 10 clients every month.
What would of course be better is if only the difference between previous months updates were distributed and that’s what Express Updates facilitate.The graph above shows the difference in size between full updates and express updates. Express updates are the ‘delta’ or contain changed content between the current and previous releases.
Enabling Express Updates support in Windows 10 version 1607
Microsoft have added the ability to use express updates in Windows 10 version 1607 (and LTSB Enterprise 2016) with the cumulative update released on patch Tuesday (January 2017 release) as detailed here. If your version of Windows 10 is later than Windows 10 version 1607 build 14393.693 you are good to go (on the client side) with express updates. Express updates from Microsoft will be released from February 14th 2017 onward.
Note: If you have a previous version of Windows 10, then they will not be able to use express updates.
Enabling Express Updates support in ConfigMgr
The capability (for dealing with express updates) has been added to System Center Configuration Manager (Current Branch) version 1610, but it is not yet visible in the console, the GUI components will be enabled with a hotfix for ConfigMgr due to be released soon. If you want to experiment with configuring express updates in ConfigMgr today, you can do so using SCCM Technical Preview, the capability was actually added in the 1612 TP release (see here).
For this guide I’ll use the latest available Technical Preview release available at time of writing and that is SCCM version 1701 Technical Preview.
Below are details about the addition.
Express files support for Windows 10 Cumulative Update – Configuration Manager can support Windows 10 Cumulative Update using Express files. This functionality is only supported in Windows 10 version 1607 with a Windows Update Agent update included with the updates released on January 10, 2017 (Patch Tuesday). For more information see https://docs.microsoft.com/sccm/core/get-started/capabilities-in-technical-preview-1612#express-installation-files-support-for-windows-10-updates.
There are two components that need to be configured in ConfigMg, client settings and the Software Update Point role settings. to configure ConfigMgr do as follows:
In the Configuration Manager console, navigate to Administration > Site Configuration > Sites select your Primary site and right click, choose Configure Site Components then Software Update Point.
Click on the Update Files tab and select the second option (not enabled by default) which is Download both full files for all approved updates and express installation files for Windows 10.
Note: Selecting this option will allow you to use express installation files however keep in mind that those packages may become much bigger (on the server) than cumulative update packages as they contain deltas of all the cumulative updates released. This means that transferring express installation files to your distribution points may be larger than what you experience today with Cumulative Update packages, but express installation files downloaded to the client will only be small in size (the actual delta).
Apply your changes and close the Software Update Point properties.
Next, you need to enable Express Updates on clients and you do that via the Client Settings. In the Configuration Manager console, navigate to Administration > Client Settings and create a custom client device settings. Give it a suitable name like Enable Express Updates for Windows 10 and select the Software Updates node.
Click on Software Updates in the left pane and change the option Enable installation of Express installation files on clients from No to Yes.
The port beneath it is used by the ConfigMgr client agent to communicate with the distribution point (on this port) for downloading of those express files.
Once done, right click and choose deploy to deploy the custom client settings to a suitable collection containing Windows 10 version 1607 computers with the January 2017 cumulative update installed.
Once you have applicable computers in that collection you can verify that they have the client settings applied by checking the following DeltaDownload.log log (on the client) in this location:
C:\Windows\CCM\Logs\DeltaDownload.log
as shown here, before receiving the client settings defined above
and after receiving the client settings, look for
Software updates Enabled: 1; Express Enabled: 1; Express Port: 8005
and with a simple netstat command you can see that it is listening on that port
netstat -ano -p tcp
That’s it ! for more info about this topic see this video by Michael Niehaus.
Cheers
Niall.
Hi Niall,
With regards to Express Updates – does this reduce the amount of data that needs to be sent to any Distribution Points?
If I were to deploy April 2017 Full Update, could I then only send May 2017, June 2017 etc Express Updates to the DPs? Any idea if Pull DPs work in the same way?
Thanks for your help – and cheers for the guide – very helpful!
Gareth
hi Gareth,
no actually it increases the amount of data sent to your dp’s but it reduces the amount of data between the dp’s and the clients, that’s where the savings come in…
Hi
I enabled this in My site and I see Content size is too high, and now I want to revert this but even after selecting Download only Full updates, it still downloads express files
Can You please help me in reverting back so that it downloads only Cab files not expres files
Thanks
Vinod
hi, why do you think it’s still downloading express files, are you seeing them downloaded or are you referring to them showing up in the SCCM console ?
Hi Niall!
Thanks for writing this, it’s super informative as always! I am running into an issue that doesn’t seem to be common (at least to my googling ability). I’m running a Win10 build that was upgraded from 1607 to 1703, in a CM 1702 environment with express install files enabled on the SUP and the client, and I’m seeing this in the deltadownload.log:
DeltaDownloadStartup task is starting…
CDeltaDownloadController::FinalConstruct entered
Software Updates enabled: 1; Express enabled: 1; Express port: 8005
Express version: 10.0.14393.953
Allowed:1, HttpPort:8005
http://localhost:8005
Failed on startup task, error code 80070057
Checking the internet for that error code and that log, I’m only finding one result, and the definitive answer there was that the client OS version wasn’t supported. I’ve verified with winver that the OS Build version is 15063.540, and verified that the WU Agent version is showing 10.0.15063.502. I’ve even tried downloading and running the MSU required for Win10 1607, and got an error that the OS version isn’t supported. I’m about to spin up a clean 1703 box to see if it encounters issues, but thought I’d ask if you’d seen this before. Thanks!
I had time to look at this today, so I spun up a 1703 clean image in my environment. Went to compare log entries between the two, and found that my original test machine started reporting the following a few hours after my last post:
Delta Download retry task is starting…
Retry timer received
Delta Download Controller agent stopping
The thread is not yet started or already stopped, so no need to stop it again here.
DeltaDownloadController has stopped
Software Updates enabled: 1; Express enabled: 1; Express port: 8005
Express version: 10.0.14393.953
Allowed:1, HttpPort:8005
http://localhost:8005
DeltaDownloadController main thread has started.
Delta Download Controller has started
Listening for requests on the following url: http://localhost:8005/
So I’m guessing that my original error condition was a case in which I was just being impatient.