You can use this language pack deployment method to integrate many languages at once into a Windows Image during Build and Capture, or even Image Deployment, the primary display and input language are set by the Unattend file.
2. Create a Unattend File Package for Each Architecture
3. Create Language Pack Package for Each Architecture
4. Create Task Sequence Variables on Collections
5. Modify Your Operating System Deployment Task Sequence
Please note this guide assumes you have integrated MDT2012 with System Center 2012 Configuration Manager.
1. Create the Unattend Files
64-bit unattend file:
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TimeZone>%OSDTimeZone%</TimeZone> <InputLocale>%OSDInputLocale%</InputLocale> <SystemLocale>%OSDSystemLocale%</SystemLocale> <UILanguage>%OSDUILanguage%</UILanguage> <UILanguageFallback>%OSDUILanguageFallback%</UILanguageFallback> <UserLocale>%OSDUserLocale%</UserLocale> </component> </settings> </unattend>
32-bit unattend file:
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TimeZone>%OSDTimeZone%</TimeZone> <InputLocale>%OSDInputLocale%</InputLocale> <SystemLocale>%OSDSystemLocale%</SystemLocale> <UILanguage>%OSDUILanguage%</UILanguage> <UILanguageFallback>%OSDUILanguageFallback%</UILanguageFallback> <UserLocale>%OSDUserLocale%</UserLocale> </component> </settings> </unattend>
2. Create a Unattend File Package for Each Architecture
Name ‘Unattend x86 Regional’ source folder: \<server fqdn>\<share>UnattendXMLx86Regional
Do not create a program
Name ‘Unattend x64 Regional’ source folder: \<server fqdn>\<share>UnattendXMLx64Regional
Do not create a program
Distribute the new package to your DP’s.
Add Unattend File to your Build Capture / Deploy Image task
3. Create Language Pack Package for Each Architecture
Copy the lp.cab files into a share, the folder structure should be as follows – the lp.cab file for each language should be in the releavant subfolder, if you fail to do this correctly the Language Pack will not install…
\<server fqdn>\<share>Win7-SP1-LanguagePack\x64 de-DE fr-FR etc... \<server fqdn>\<share>Win7-SP1-LanguagePack\x86 de-DE fr-FR etc...
Now create a Package for each processor architecture:
Win7-SP1-LanguagePackX64 - source \<server fqdn>\<share>Win7-SP1-LanguagePack\x64 Win7-SP1-LanguagePackX86- source \<server fqdn>\<share>Win7-SP1-LanguagePack\x86
4. Create Task Sequence Variables on Collections
Now on the collection containing your devices set the following variables:
OSDInputLocale value=de-DE OSDSystemLocale value=de-DE OSDUserLocale value=de-DE OSDUILanguageFallback value=en-US OSDUILanguage value=de-DE OSDTimeZone value=Central European Standard Time
5. Modify Your Operating System Deployment Task Sequence
Create a new Group in your Task Sequence, add a condition to the group of Task Sequence Variable ‘OSDUILanguage’ equals “de-DE”
Add the following tasks under the group:
- Use Toolkit Package
- Gather
- Install Language Packs Offline -[select the correct Language Pack Package for the Windows Deployment Architecture)