Specify additional command-line options to Setup during a Windows 10 upgrade when using ConfigMgr

During the Microsoft Ignite 2016 OS Deployment pre-conference, I demonstrated the ConfigMgr inplace-upgrade task sequence, and if you want to specify additional command-line options you can use the "not-so-easy-to-find" OSDSetupAdditionalUpgradeOptions variable. For example for using the /InstallLangPacks or /ReflectDrivers switches.

Note #1: For MDT Lite Touch, the same variable is named WindowsUpgradeAdditionalOptions.

Note  #2: Adding language packs to the inplace-upgrade is needed if the machine has a language pack installed already, and you want Windows 10 to have the same language pack installed after the upgrade. The /ReflectDrivers switch can be used when having third party disk encryption on the machine you are trying to upgrade.

Task sequence action variables

Anyway, the OSDSetupAdditionalUpgradeOptions variable is part of the so-called task sequence action variables in ConfigMgr Current Branch. For a complete list of the action variables, check the online docs:

Task sequence action variables in System Center Configuration Manager

Creds: Thanks to Michael Niehaus (@mniehaus) for sending me the link when my Google/Bing search skills failed me 🙂


Here is an example of a task sequence configured to install a Swedish language pack by first using the download package content feature, and then using the OSDSetupAdditionalUpgradeOptions variable:

1. Add a Download Package Content action, select your language pack, and set the Save path as variable to LPs.

The added Download Package Content action.

2. The add a Set Task Sequence Variable action, where you set the following:

Task Sequence Variable: OSDSetupAdditionalUpgradeOptions
Value: /InstallLangPacks %LPs01%\sv-se

Note: The 01 number in the end of the %LPs01% must be added for this action to work.

The added Set Task Sequence Variable action.

When deploying this task sequence you will see that the extra variable added will modify the setup command line. This you can verify in the setupact.log file:

The command line used for setup.

Additional Resources

For more notes, links and slides from the preconference, check out this blog post by Ami Arwidmark (@AArwidmark), one of the authors on Deployment Research.

Notes and slides from the Learn about Windows 10 Enterprise deployment pre-day at Microsoft Ignite 2016

Note: Also, in general, I recommend avoiding the Windows 10 operating system servicing plans feature in ConfigMgr (In the Windows 10 Servicing node), because of the lack of control. But if you do, Niall Brady (@ncbrady) has some nice info related to language packs when using it.

How can I use Windows 10 Servicing when a language pack is installed using System Center Configuration Manager (Current Branch)

The (IMHO) not so shiny Windows 10 Servicing node in ConfigMgr. Or rather the dashboard is shiny, but the servicing plans are not.

Written by Johan Arwidmark
Microsoft MVP and all-around geek

About the author

Johan Arwidmark

5 1 vote
Article Rating
Notify of
Oldest Most Voted
Inline Feedbacks
View all comments

[…] Manager | Microsoft Docs for more info. Johan Arwidmark has a great blog on using it as well Specify additional command-line options to Setup during a Windows 10 upgrade when using ConfigMgr &#…. My guess would be that your TS would reboot into the Safe OS phase within 8 mins of starting the […]

4 years ago

Johan, where would you put the reflect drivers command, right before the upgrade operating system step?