Today, we will try to change an old practice : Offline language pack installation ! Why is it better to install them online ?… Because it will reduce the complexity of your annual upgrade process by far !
You need to understand that a major change occur when you apply a language pack offline: it is then considered by Windows as the default language.
Why is it a problem ? Because, if for example you applied a French language pack over an English base, the OS will be identified as a real French OS. When you will want to upgrade to the next version of Windows 10 with your English sources, it will stop and ask for French one.
In an international context, this could be a killer: each language requiring its own sources, will mean lots of disk space (3GO per OS), brandwidth (between Internet, DP and Endpoint), time (slow connection, depth of your infra), efforts (at least one time a year), and so on…!
With an online apply, the OS will still be identified as English and therefore will not need additional ISO whatever amount of different languages you need to maintain… Yes that’s a huge saver !
- A task Sequence with UDI
- This is a basic as at some point, you need to select the language you want to install. Also, the variables that UDI will populate will be used later for a proper injection. You can tweak the wizard the way you want but keep the select language page unmodified.
- Some Language Packs
- Languages pack have evolved since Windows 8.1, they are now divided into subcategories for decreasing their size. categories are available on two distinctive ISO on your MSDN subscription. ISO mu_windows_10_language_pack contains the basics languages, ISO en_windows_10_features_on_demand contains all the additional features.
- An installation script that you can download
- The script have two purpose, injecting online every basic and feature language pack that it found. And preparing an XML file with your language preferences to make it the default UI.
Note : I usually demonstrate on MDT, but for this time it will be on SCCM.
In your file sharing server (the place where you put your SCCM content sources) create as much folder as languages that you need to support :
In each one, put your basic and feature languages packs. Put also the script called Set-OnlineLP.ps1 in.
In your SCCM console, create a package without program for each language folder. If some of you are creasy about applications they can use them instead but for me, it is just an overengineering process to copy a bunch of files…
Go then to your task sequence and add a step “Execute a PowerShell Script” anywhere after the SCCM client installation step.
Package source should point to one of those you’ve just created. Script name should be set to Set-OnlineLP.ps1. Don’t forget to set the execution policy to Bypass.
On the option tap create a new condition based on Variable. Set it like this : UILanguage Equal <LanguageUI Value>
The values you need to grab are the one like Fr-FR, En-US…
Create similar steps for all the languages you need to support!
After all the necessary steps are created, a computer restart step is needed to put everything in the right place.
A final step needs to be created to change the Windows UI to the fresh injected language. For this, add in an “Execute a command line” step with this :
After that, a second reboot is needed to complete the change. As you can see above, this reboot is not visible in my task sequence as it occurs at the very end of the deployment. You can do same, take benefits of a rebooting application happening later in the deployment or put a reboot step right after the command line. The choice is up to you.
Final words: if you want to make sure that your UI language is in good shape for a successful upgrade, you can check it easily using a DISM command line :
Dism /online /get-intl
The “Default System UI Language” value should remain in en-US while other values should bring the language pack you have deployed. “Default System UI Language” is the value that the upgrade process will check against its own source files and, you guess it… the’d better match !
Happy upgrade everyone !