How to Deploy Windows 7 Language Packs with SCCM OSD
In this post I will show you how to deploy a Windows 7 language pack with a new system. This is known on as “Offline”. I will only be deploying one language pack during the Deployment; however you can setup the task sequence to have different Language packs to choose from depending on the language variable I supply.
Prerequisites for deploying the language pack:
- The Microsoft Deployment 2010 Toolkit SP1 Update 1 – Found here
The language packs for Windows 7 Service pack 1. The only way to obtain these outside of the windows 7 download updates is to download them from MSDN. If downloading them from MSDN, the update will look like this:
Preparing the language packs:
After you download the language pack and extract the .ISO image, you will see several folders like the ones below.
To some this may be hard to tell which language pack is for which country. The site found here will help you determine which folder you will need.
Note: if you were to create the language pack package with all of these subfolders, you OSD will download all of these folders during the task sequence and will take a long time.
Copy the folder such as the one for German (de-de) and past it into your sources directory
My source directory has the de-de folder and below that has only one file (lp.cab) which is the German Language Pack File.
This is what your package should look like. You do not need to create a program for you package. Just add this to the distribution point(s).
Creating a custom xml file that will be used for you deployment:
Use a program such as Windows System Image Manager to create your unattended answer file. You will need to open a windows Image. This simply means you Windows 7 Enterprise or Ultimate CD. Point this to the install.wim.
Expand components then drag and drop x86_Microsoft-Windows-International-Core_6.1.7601.17514_neutral to 7 oobeSystem
You will now see the following
Fill in the settings fields to match the following:
Save the file (example: unattended.xml) to a location. You will need to create a package for this file and it will be used later in our task sequence.
Creating the unattended package
Create a program from the file that you created above and point it to the folder where the file resides. Again you do not need to actually create a program for this package.
Creating the language pack task sequences
I am using an existing MDT Task sequence to add the language packs. I will be adding these under the post installation group. The task sequence will fail if you put it above this field. Same holds true if you put it below the Setup Windows and ConfigMgr.
It is a best practice to create a group for your language pack installs. This will help keep things organized. We will also be using variables within these groups.
I set a variable under the German folder to run if the languageValue = German. This value will be specified prior to the OSD.
If German is entered it will look for the OSDUILanguage. Here we are specifying de-de.
This will look at the German folder, point to de-de and load the lp.cab file
Specifying the Custom unattended.xml file during the OSD
We need to put in the custom xml file that we created so that it knows to load the language pack. Specify this under the Apply Operating System Image.
Setting up the task sequence
I am advertising my task sequence to the unknown computer collection. I created a task sequence variable for this collection “languageValue”. Leaving this blank will install windows with the default en-us language pack or you can enter the languageValue you specified under the group.
The install will begin. When the computer reboots for the first time, you will see the language you choose. The setup will continue to install in this language.
Your specified language pack is now loaded into windows.