ConfigMgr Console
WaaS – Language Support – Packages

Receive notification right in your inbox whenever new content like this is released & sign up for our email list!
We’ll send you the latest updates, how-to’s, and solutions to empower you at every endpoint.
By signing up you agree to our Privacy Policy.
<img style=”float: right;” src=”https://www.recastsoftware.com/wp-content/uploads/2021/10/Recast-Logo-Dark_Horizontal.svg” alt=”Image” height=”43″ width=”150″>
Language Support CM Packages & Task Sequence Steps
CM Packages
For keeping track of the language files, we’ve created a Package w/ a Pre-cache Program for each language we’re supporting.
We also use the package to keep track of important elements of the Language, like the GEO ID and Keyboard Layout.
Required Content (ISOs) for the Language CM Packages.
- Features on Demand Part 1
- Language Pack
- Local Experience Packs
These ISOs can be downloaded from VLSC or My Visual Studio (Former MSDN).
The Language Package Contents:
It’s broken up into 3 folders, the LocalExperiencePack (Installed after Upgrade), the Language Cabs that get passed to the setup engine (Offline), and the extra language FoDs that get installed via DISM after the upgrade.
Script on GitHub to create Packages once you have the 3 ISOs.
Task Sequence Steps
With the packages created which holds the extra metadata needed to apply it to the Operating System, we leverage that information in the Task Sequence. We’ve created a “Module”, a child task sequence, which detects if additional languages packs are installed and records that information into task sequence variables, so it then knows which languages to download and apply during the upgrade.
Script on GitHub to create the Dynamic Variables
Here we have a dynamic variable step that will based on detected languages will map which CM Packages need to be downloaded and the information needed to re-apply during the upgrade:
Downloading the language packs are completely dynamic, meaning that none of them are directly referenced, since we don’t want machines downloading a language pack that doesn’t need it.
So now that we have it download the language packages, we copy them all to a single location and set that location to TS Variable “LANG01”, which we then pass to the Setup Engine using the OSDSetupAdditionalUpgradeOptions variable. The Setup Engine then applies the Language Pack Cabs during the upgrade.
During the Upgrade Step you can see that the Language Cabs will get passed in:
Then after the upgrade when we’re back online on the new OS, we install the Local Experience Pack and any other Windows Capabilities we need
We also run the command to apply an XML file to set the language defaults. The file was created in the Module in the step “Create Custom Language XML Config“.
Overview
And with that, we are able to support several languages, having them automatically reinstall during the upgrade, without leveraging dynamic updates, or downloading unused content.
You can get all of the task sequences in the WaaS Download Pack on GARYTOWN.Com
Script Links in one place:
About Recast Software
1 in 3 organizations using Microsoft Configuration Manager rely on Right Click Tools to surface vulnerabilities and remediate quicker than ever before.
Download Free Tools
Request Pricing