Comparing ESD with standard WIM packages in ConfigMgr IPU Task Sequences

With the release of ConfigMgr Technical Preview 2101, Microsoft added in support for task sequences to use the smaller ESD packages that is part of the Windows 10 Servicing feature in ConfigMgr. Obviously I was interested in seeing what the real download amount would be when using these types of packages vs. standard WIM packages in task sequences.

In this test I'm upgrading three virtual machines running Windows 10 1909 to Windows 10 2004. Each with a different type of OS Upgrade package.

Disclaimer: The ESD package task sequence support is currently only available in the ConfigMgr TP 2101, which is not supported for production. Only test this in a lab environment.

Lab Setup

To measure the download amount for each scenario, I used PowerShell scripts that measured both inbound and outbound traffic for each VM in the test. You can get the scripts here if you want: https://github.com/DeploymentResearch/DRFiles/tree/master/Scripts/Blog-CompareESDtoWIM

I also used Procmon from Sysinternals (Microsoft), to get some additional details about what was going on in general. I used the below filters:

Note: Whenever using Procmon for any longer captures, make sure to capture to files instead of memory (File / Backing Files), as well as configure Procmon to drop filtered events (Filter / Drop Filtered Events).

Include
Event Class / is /Network
Event Class / is / File System
Operation / is / WriteFile
Operation / is /SetEndOfFileInformationFile
Operation / contains / Receive

Exclude
Process / is / MsMpEng.exe
Process / is / MpCmdRun.exe
Process / is / MpSigStub.exe
Process / is / Registry
Process / is / OneDrive.exe
Process / is / Gamebar.exe
Process / is / dismhost.exe
Path / is / C:\$WINDOWS.~BT\Sources\Panther\setupact.log
Path / is / C:\$WINDOWS.~BT\Sources\Panther\diagwrn.xml
Path / is / C:\$WINDOWS.~BT\Sources\Panther\MigLog.xml
Path / begins with / C:\Windows\CCM\Logs
Path / begins with /C:\Windows\System32\winevt
Path / begins with /C:\Windows\System32\wbem
Path / begins with /C:\ProgramData\Microsoft\Diagnosis

Then, in my ConfigMgr TP 2101 environment I created and deployed three task sequences:

  • Windows 10 Enterprise x64 2004 IPU ESD
  • Windows 10 Enterprise x64 2004 IPU MSFT 01-2021
  • Windows 10 Enterprise x64 2004 IPU OSDB 01-2021
The task sequences used for the test.

The IPU ESD task sequence used the new smaller ESD package. The IPU MSFT 01-2021 task sequence was using the Microsoft Windows 10 2004 media that was updated in January 2021, and the IPU OSDB 01-2021, was a Microsoft Windows 10 2004 media optimized/updated using the OSD Builder community solution with the January 2021 updates.

The core OS upgrade package size for the different task sequences were:

  • Windows 10 Enterprise x64 2004 IPU ESD: 3.3 GB
  • Windows 10 Enterprise x64 2004 IPU MSFT 01-2021: 5.1 GB
  • Windows 10 Enterprise x64 2004 IPU OSDB 01-2021: 4.5 GB
The Windows 10 Enterprise x64 2004 IPU ESD task sequence.

Results

In theory, due to the smaller size, the download should be smallest for the ESD version. But, due to that package only being updated once or twice per year, Windows setup has to download some updates via the dynamic update feature. Also worth noticing is that during the ESD-based task sequence in the down-level OS, the CPU was under much higher load compared to a WIM-based task sequence.

Below are the setup time and network traffic per task sequence in the down-level OS, meaning before the first reboot:

  • Windows 10 Enterprise x64 2004 IPU ESD
    • Setup time in down-level OS: 38 minutes
    • Complete upgrade time: 47 minutes
    • Network traffic: 3.8 GB (of which 3.3 GB came from DP, and remaining 0.5 GB was dynamic updates from Microsoft)
  • Windows 10 Enterprise x64 2004 IPU MSFT 01-2021
    • Setup time in down-level OS: 17 minutes
    • Complete upgrade time: 27 minutes
    • Network traffic: 5.1 GB (of which all came from DP)
  • Windows 10 Enterprise x64 2004 IPU OSDB 01-2021
    • Setup time in down-level OS: 17 minutes
    • Complete upgrade time: 27 minutes
    • Network traffic: 4.5 GB (of which all came from DP)

Behind the scenes

If you used Procmon to trace what's going on, it will tell you exactly which files are downloaded to which location. Due to HTTPS downloads the network trace doesn't give the gory details, but if you check the time for WriteFile, and the network entries, you can make some clever conclusions 🙂

The downloaded ESD file used by the Windows 10 Enterprise x64 2004 IPU ESD task sequence
Updates downloaded as part of the dynamic update feature of the setup

Happy Deployment / Johan

About the author

Johan Arwidmark

0 0 votes
Article Rating
Subscribe
Notify of
guest
3 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Michael
Michael
1 month ago

Thanks for this test 👍 It seems it's smaller but it takes longer to install. Can you share your TS ? I see nice things like 'remove incompatible applications/drivers' and the driver part 😇

Tim
Tim
2 months ago

Really interesting, thank you for your analysis! 🙂

Last edited 2 months ago by Tim

>