Speed up Windows 10 Upgrade Process – Task Sequence Vs. Servicing

11
Speed up Windows 10 Upgrade Home
Speed up Windows 10 Upgrade Home

IT is focusing on different ways to speed up Windows 10 upgrade process. As we all know installation time is a critical parameter in the Windows 10 feature upgrade process. Hopefully, you will learn an easy way to speed up Windows 10 upgrade process from this post.

NOTE! – Check out the recommendation in the conclusion section of the post. There is a new client settings option for setting the priority of Windows 10 Upgrade process on SCCM 1902 or later. “Specify thread Priority for Feature updates

Introduction

In this post, we will discuss one of the “some” of the practices to reduce the installation time. By default, the Windows setup process executes in “Below Normal” priority.

Windows setup is kept below priority because the upgrade process should be transparent to users and it should NOT impact the performance of the devices badly. But in some scenarios, you might need to speed up Windows 10 upgrade process.

Windows 10 Feature Upgrade

The Question?

Do you think Windows feature upgrade setup (setup process which you can see in the above screen capture) should execute with “below normal” priority? If so, you should accept that Windows 10 upgrade process with “Below normal” priority will result in a longer upgrade /install time.

In this post, we will learn how to override the default Windows setup process priority.

Note!: Windows setup “High” priority process consumes more system resource like CPU, Memory, etc. I would recommend testing this process in the staging environment before implementing in production.

The Two Ways to Speed Up Windows 10 Upgrade

There are two (2) methods in SCCM for Windows 10 feature upgrade. Let’s discuss how to configure Windows setup priority in each method.

  1. Task sequence
  2. Windows 10 Servicing.

I’m not getting into the detailed comparison between Windows 10 upgrades using Windows 10 Servicing Vs. SCCM Windows 10 Upgrade task sequence.

As per the latest poll conducted in SCCM Professionals Facebook group (15K members), most of the SCCM admins are comfortable with SCCM upgrade Task Sequence (100+ votes for TS but only 20 votes for servicing).

How to Speed up Windows 10 Upgrade Process using Windows servicing?

Setupconfig.ini is a configuration file which can override default Windows 10 installation parameters. Below listed are some of the installation parameters which you can change.

In this post, we will focus only on Windows setup process to override the default priority. We need to use Setupconfig.ini file while using Windows 10 servicing approach.

What is Setupconfig.ini?

You can check the following sample INI file to understand what is the use of Setupconfig.ini file! The setupconfig.ini is a custom configuration file to customize the Windows setup behavior. This file is handy for SCCM admins to speed up Windows 10 upgrade process.

[SetupConfig]

  • Priority=High
  • NoReboot
  • ShowOobe=None
  • Telemetry=Enable
  • InstallDrivers=<path of folder containing INF and SYS drivers>
  • ReflectDrivers=<path of folder containing INF and SYS files for the encryption drivers>
  • PostOOBE=<path of folder containing script to execute post OOBE>

Location of SetupConfig.ini

By default, the setupconfig.ini doesn’t exist. You need to copy the ini file to the default location before the Windows 10 servicing upgrade using SCCM. This activity of creating ini file will be a one-time activity. For more details, check out the following documentation here.

The following is the location of SetupConfig.ini file. Windows will search for SetupConfig.ini in the below-mentioned default location.

“%systemdrive%\Users\Default\AppData\Local\Microsoft\Windows\WSUS\SetupConfig.ini”

Speed-up Windows 10 Upgrade
Speed-up Windows 10 Upgrade

How the SetupConfig.ini Helps to Speed up Windows 10 Upgrade?

Based on the priority what you configured in the setupconfig.ini, Windows setup process execute. In this post, we will use below setupconfig.ini file to override priority from “Below Normal” to “High”.

 [SetupConfig]

Priority=High

sample file:

Results

Check the following Log file setupact.log to confirm the servicing command line option. Servicing: Windows Installation command line after the override.

windows 10 Servicing Installation command line

2019-03-03 14:22:33, Info                  MOUPG  SetupHost::Initialize: CmdLine                = [/PreDownload /Update /Quiet  /progressCLSID 089fdf65-9dc5-4d3a-8754-44a1601d5572 /ReportId {192F3952-8ADF-4CC7-9E2A-3DDE13A0F60A}.201 “/ClientId” “5b3cd6cc-a388-41bc-80c5-b32753e3b3df” “/CorrelationVector” “NbSRDhFnE0aRDy2m.6.0.0.2”   /Priority High]

Following is the screen captures of Servicing Before and After Windows Setup Process override.

Servicing Before / After Windows Setup Process override

How to Speed up Windows 10 Upgrade using SCCM Task Sequence?

You can speed up Windows 10 upgrade using SCCM task sequence variable. With SCCM Task sequence, we need to use a variable to change Windows setup process priority.

Setup SCCM Collection Variable

  • Task sequence Variable : OSDSetupAdditionalUpgradeOptions
  • Value : /Priority High
OSDSetupAdditionalUpgradeOptions

Results

Check setupact.log to understand the details about changes in Windows 10 upgrade priority. Task Sequence: Windows Installation command line after the override.

2019-03-03 08:37:19, Info                  MOUPG  SetupHost::Initialize: CmdLine                = [/Install /Media /Quiet  /InstallFile “C:\_SMSTaskSequence\Packages\CHQ00019\Sources\Install.wim” “/ImageIndex” “3” “/auto” “Upgrade” “/noreboot” “/postoobe” “C:\WINDOWS\SMSTSPostUpgrade\SetupComplete.cmd” “/postrollback” “C:\WINDOWS\SMSTSPostUpgrade\SetupRollback.cmd” “/DynamicUpdate” “Disable” “/Priority” “High” /MediaPath “C:\_SMSTaskSequence\Packages\CHQ00019”]

Windows Installation command line after override

Following are the Results of Windows 10 Upgrade Task Sequence Before and After Windows Setup Process override.

You can now see that TS initiates the Windows 10 setup process with “High” priority.

Task Sequence Windows Setup Process
speed-up Windows 10 Upgrade

Conclusion:

I observed a few minutes reduced after changing Windows setup process priority from “Below normal” to “High”.

NOTE! – I would recommend using this process to speed up Windows 10 upgrade in case there is a real business case for old devices in your organization.

You will be able to measure the time saved by comparing the start and end time recorded in Setupact.log. For more details about setupact.log location, please refer here.

Check out the keyword – “SetupHost Logging Begin” & “SetupHost Logging End“. You can note down the time stamp for the Begin & End of the Windows setup process activity and measure the improvement.

Setupact log

Before changing the process priority (Default) ( setupact.log)

  • 2019-03-02 18:43:45, Info                  MOUPG  *************** SetupHost Logging Begin ***************
  • 2019-03-02 18:43:46, Info                  MOUPG  SetupHost::Create IWUInstallationSession2 result: [0x80004002]
  • 2019-03-02 18:43:46, Info                  MOUPG  SetupHost::Create IWUInstallationSession result: [0x0]
  • 2019-03-02 22:38:01, Info                  MOUPG  SetupUI: Power request cleared!
  • 2019-03-02 22:38:01, Info                  MOUPG  **************** SetupHost Logging End ****************

After changing the process priority  (setupact.log)

  • 2019-03-02 13:34:43, Info                  MOUPG  *************** SetupHost Logging Begin ***************
  • 2019-03-02 15:59:34, Info                  MOUPG  **************** SetupHost Logging End ****************

Resources

11 COMMENTS

  1. This is a great tweek. When your servicing hundreds of computers at one time, this can greatly reduce the administrative workload.

  2. Nice article. Please be careful with changing the priority of the setup program. Windows servicing has changed greatly depending on the version (1703,1709,1803,1809,19H1). The driving direction is to reduce the amount of downtime for the end user. The best way to achieve this is to do more changes while the user is still online. What I mean is make as many changes as possible while the user is still productive. To this end the setup process is set a lower priority to not impact the end user.

    The following is a presentation I did with Michael Niehaus in May 2018 around Windows 1803. Starting at slide 11 I talk about online versus offline changes. 1903 is in progress and the average unusable time is about 15-20 minutes with a single reboot for Windows Surface devices. https://sched.co/EeT4

  3. I created the Task Sequence variable and it doesn’t appear to do anything……no mention of the word Priority at all in the Setupact.log

    Plus Setup.exe is still running below normal.

    I’m going to 1809 from 1709. Did I miss something ?

    • What is the installation command line you are seeing in the setupact.log ? Please share the complete installation command you see in the log … For example You will see CmdLine like below

      2019-03-03 08:37:19, Info MOUPG SetupHost::Initialize: CmdLine = [/Install /Media /Quiet /InstallFile “C:\_SMSTaskSequence\Packages\CHQ00019\Sources\Install.wim” “/ImageIndex” “3” “/auto” “Upgrade” “/noreboot” “/postoobe” “C:\WINDOWS\SMSTSPostUpgrade\SetupComplete.cmd” “/postrollback” “C:\WINDOWS\SMSTSPostUpgrade\SetupRollback.cmd” “/DynamicUpdate” “Disable

  4. My SCCM version is 1810 and my windows 10 service plan is working very slow i didn’t find the ini file in mention path can you please help me to spped up the service plan

    • We need to more about the analysis. The slowness could be because several issues like hardware performance/network performance etc… let us know more about the slowness and analysis which you did to resolve this slowness issue in Windows 10 upgrade or servicing?

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.