anyweb Posted February 15, 2011 Report post Posted February 15, 2011 If you live in Europe you'll most likely need to deploy some additional languages on top of English Windows 7. To achieve this we can add them at the Build and Capture stage or indeed in our Deploy Windows 7 Enterprise task sequence.All installations of Windows® 7 contain at least one language pack and the language-neutral binaries that make up the core operating system. Licensing requirements state that Windows 7 can include only a single language, with the exception of the Windows 7 Ultimate and the Enterprise editions. These are referred to as single-language editions. However, the Windows 7 Ultimate and Enterprise editions can include multiple language packs. These are referred to as multilingual editions. To see which versions of Windows support Language Packs please review this post on MSDN and scroll down to the Windows 7 editions multilingual support summary.What do I need ?You will need some things in place to add the languages offline, namely MDT 2010 Update 1 integrated into ConfigMgr 2007 SP2 and you'll need to download the Language packs from MSDN.Where can I find Windows 7 Language Packs ? Download the language pack from MSDN which suits your architecture, choose a language other than English (eg: Swedish) then choose the Windows 7 operating system, in the downloads listed you’ll see these:-Windows 7 Language Pack (x64) - DVD (Multiple Languages) 8/6/2009 - 2,200 (MB)Windows 7 Language Pack (x86) - DVD (Multiple Languages) 8/6/2009 - 1,846 (MB)How can I Add Language Packs to ConfigMgr?Language packs are .cab files that you can add to System Center Configuration Manager packages either offline or online. Before adding language packs, however, create a System Center Configuration Manager package that contains one or more language packs.In our example here, we will add language packs using one language per package, so for the Swedish Langauge pack, our SCCM package looks like so:-the Data Source points to the share with our Swedish Language Pack eg:-\\sccm\sources\Windows 7 Language Pack - Swedishand that path contains the following, a sub dr (eg: sv-se) which contains the lp.cab file and nothing more.Note:- All language packs in the same System Center Configuration Manager package are deployed together. If you want to deploy different combinations of language packs, create multiple System Center Configuration Manager packages.Get the Task SequenceDownload the following Task Sequence and import it into ConfigMgr.Install Language Pack Offline.XMLLet's look closer at this task sequence,First you'll notice that the entire section is separated into a Group, this is to keep things organised and to help you in adding it to your Deploy Task Sequence.Important: This group must be placed in the PostInstall section of your Deploy Task Sequence, and preferably after that Apply Windows Settings and Apply Network Settings Steps, in addition this group must go before the Setup Windows and ConfigMgr steps otherwise the Install Language Pack offline step will fail.Ok let's look at the steps themselves and see what they do.The Swedish sub Group is responsible for installing the Swedish Language pack if a variable called languageValue=Swedish. How you set that variable is up to you, you can set it via a FrontEnd HTA (recommended) or by simply using a Set Task Sequence variable step (before this Group) such as this (not included in the sample task sequence):-Task Sequence Variable: languageValueValue: SwedishIf languageValue is determined to = Swedish it then carries out two stepsSets a task sequence variable called OSDUILanguage = sv-SEand then calls the built-in MDT Step, Install Language Packs offline (which references the ZTIpatches.wsf script). This step points to our previously made Swedish Language Package.The actual step takes some minutes as it has to expand lots of files in the cab, and inject them offline (using DISM) into our Windows 7 image.How do we set OSDUILanguage in WindowsYou'll need to create an Unattend.xml file which specifically mentions the OSDUILanguage variable <UILanguage>%OSDUILanguage%</UILanguage> or use this one which I created earlier.OSD_Variables_added.xmlThis file must be referenced in the Apply Operating System Image step otherwise the Install Language Pack Offline step will fail as it won't know what variable to set.You can create this unattend.xml file yourself using Windows SIM or use the sample i provide, just remember that the architecture must match the image, and this sample is for 32bit Windows 7 Enterprise (X86).Ok I've done all the steps, now what ?Deploy Windows 7, set the language pack variable either in the Task Sequence or using a HTA, and the end result is that you get your language pack installed as the default language within Windows. The Setup Windows and ConfigMgr step actually inserts our value (sv-SE) in place of our variable in our unattend.xml file so that the following line <UILanguage>%OSDUILanguage%</UILanguage> becomes <UILanguage>sv-SE</UILanguage> which eventually means that your OS is in Swedish.Troubleshooting Notes* use the log files, in particular ztipatches.log which documents what happens when it trys to use DISM to inject the changes* Use at least 1gb ram in your virtual machines otherwise the step will fail to install any language packs (will run out of ram). (1gb for X86 and 1.28 gb for X64)* create the MDT toolkit package the proper way via a Create MDT Task Sequence wizard - why ? see this postAfter the Install Language Pack Offline step the following will be created in c:\_smstasksequence\namely:-Packages<dir>ZTIPatches.tmppackageGroups.xmlin the Packages directory you’ll have more subdirectories based on how many lp’s you included, one language pack, one dir, 4 language packs in your ConfigMgr Language Package, 4 dirs...you may also see a directory called _smstasksequence\SMSOSD\osdlogs and in there are three files including a log file called BDD_PKGMGR.LOG, analyse it if you are having issues deploying Language packs offline as it will reveal the success or failure of the DISM operations.Unattend.xml changesYou can press F8 in WinPE and browse to the locations below and use notepad to examine the changes to the unattend.xml file. Note: The unattend.xml file and/or C:\Windows\Panther\Unattend folder may not appear in your image until directly after the Apply Operating System Image step and the contents of that file depends on whether or not an unattend.xml file was specified in that step.Before the Setup Windows and ConfigMgr step is complete you can monitor c:\windows\panther\unattend\unattend.xml to see what is happening in relation to your modifications taking place or notAfter the Setup Windows and ConfigMgr step is complete, you’ll see the following has been added to your c:\windows\panther\unattend.xml file. If it is not added or if there are no changes to the %OSD...% variables then something has failed and it's time to troubleshoot. Note: The above locations are during the Windows PE phase. After the Setup Windows and ConfigMgr step is complete it will reboot your computer (unless you have a command prompt open in WinPE), and after that reboot the unattend.xml file will have been removed (by the Setup Windows and ConfigMgr step...).the other values (keyboard layout and so on) are added via separate steps in the Task Sequence which I'll cover in another post.cheers !niall. 1 Quote Share this post Link to post Share on other sites More sharing options...
MarcoX Posted February 18, 2011 Report post Posted February 18, 2011 Nice, working well whats te difference between install LP Offline and Install LP Online ? Cheers, Marc. Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted February 18, 2011 Report post Posted February 18, 2011 installing the language pack online takes place AFTER logging in for the first time and can only be done using Administrative permission, downside of this is that a gui pops up installing the language pack after the user logs on, and takes many minutes before completion, far better (in my opinion) to install the LP during the os installation, so that when the user does get to login that nothing delays their ability to use the computer straight away, here's a snippet from the MDT documentation To add language packs online to Windows 7, Windows Vista, Windows Server 2008 R2, and Windows Server 20081. In the Configuration Manager Console, go to Operating System Deployment/Task Sequence. 2. Right-click task_sequence (where task_sequence is the name of the task sequence you want to edit), and then click Edit. 3. In the Task Sequence Editor dialog box, under the State Restore phase, go to the Restart Computer task. 4. Click Add, click MDT, and then click Install Language Packs Online. 5. Type the relevant information in the Name and Description boxes, and then click Browse to select a language pack package to install. 6. Click OK to save the settings, and then close the Task Sequence Editor. Note When used in MDT 2010, the term online means that the computer is booted into an operating system but run as an Administrator user so that final configurations can be made to the running operating system. If you want to install language packs online, you can use the MDT step in your task sequence or indeed add the Language specific code in your unattend.xml by clicking on Insert, choose Pass 7 oobeSystem And paste the following line in Lpksetup.exe /I %OSDUILanguage% /r /p C:\LangPacks\x86\%OSDUILanguage%\ The Lpksetup tool does not process language packs in any configuration pass other than auditUser and oobeSystem. After the installation of Windows 7 (right at the end after you login for the first time…) You’ll see – (if deploying Language Pack online and if you login as an administrator) long story short the following will end up in your unattend.xml if doing an language pack ONLINE installation cheers niall Quote Share this post Link to post Share on other sites More sharing options...
MarcoX Posted February 18, 2011 Report post Posted February 18, 2011 Ok Niall, it make sens, it was that i thought So, it will be useful anyways, because, actually, i want to deploy Server 2008 R2 SP1, SP1 have a new LP SP1...and Server 2008R2 is not slipstream with sp1 yet.. so i have to install SP1 in my TS (this online after setup windows configuring task), so install LP after SP1, so online ! Regards, Quote Share this post Link to post Share on other sites More sharing options...
spadge Posted June 1, 2011 Report post Posted June 1, 2011 Niall, Is it possible to set the languageValue e.g. languageValue=Swedish within customsettings.ini? I already set the keyboardlocale, inputlocale & systemlocale according to the network number. Adding the languageValue section here would be ideal. However, I am unsure if its a valid location? Cheers Quote Share this post Link to post Share on other sites More sharing options...
todd9774 Posted September 8, 2011 Report post Posted September 8, 2011 Thanks for the excellent article. I am having some issues deploying this setup. Obviously it works well. The differences with my setup is I am using the RTM copy of Win7 Enterprise, along with the RTM language packs. I see you are using Win7 SP1 Media and Language Packs. The MDT-Integrated task kicks off in SCCM 2007 R3, but when it comes to the step to install the language pack (Spanish), it downloads it, pauses for a second, then moves right to the next step, which is install Windows and ConfigMgr. Any ideas? I see a few other users with this issue. You helped a guy named Simon out with a similar problem but files in my MDT folder dont seem to be the problem. Thanks in advance. Quote Share this post Link to post Share on other sites More sharing options...
todd9774 Posted September 12, 2011 Report post Posted September 12, 2011 I resolved my issue. It now works successfully. Everyone - be sure that you do not allow the SCCM Package Source path to go straight to lp.cab - follow the directions in this article exactly. Make a directory above the language folder and place the language folder in it. Be sure the lp.cab is in the language folder. For example - your SCCM package source for Spanish would be \\server\source\spanish, and inside the spanish folder would be es-ES\lp.cab. When you send the package to the DP's, es-ES\lp.cab will be on your smspkgd$ shares. This step is critical. If you dont do this step, the task will deploy, but the LP will not install without any errors on screen or in the logs. I was banging my head on the desk for some time. - T. 2 Quote Share this post Link to post Share on other sites More sharing options...
JvdA Posted October 28, 2011 Report post Posted October 28, 2011 I Try a lot of things to install the language packs but nothing works. I did what you write, but by the installation of “Install Dutch Language Pack” I get the message: The task sequence execution engine failed execution of a task sequence with exit code 1. Nothing more than that. This is what I did: install MDT Update 1 Fix this problem: http:\\support.microsoft.com/kb/2547191 Download Language pack on this way: I just pull updates downloaded from Windows Update directly from the %WINDIR%\SoftwareDistribution\Download\Install folder. So, I have downloaded the required packs and copied them from there. With SCCM, I make a package of the language Dutch that contains a map with the name nl-nl. There I put the Cap-file Then I make a task sequence:Restart in Windows PE Partition disk 0 Apply operating system: -Install Windows 7 SP1 Enterprice UK x6 Apply Windows setting Apply Network settings Install language PackSet languageValue=Dutch Map Dutch with the task sequence variable: languagevalue equals “Dutch” Set Task Sequence Variable: OSDUILanguage nl-nl Install Dutch Language Pack [*]Setup windows and ConfigMgr [*]Install Software Updates [*]Capture the reference machine….. Then I made an Unattend xml with the name “OSD_variables_addes.xml”<?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"> <InputLocale>%OSDInputLocale%</InputLocale> <SystemLocale>%OSDSystemLocale%</SystemLocale> <UILanguage>%OSDUILanguage%</UILanguage> <UILanguageFallback>%OSDUILanguageFallback%</UILanguageFallback> <UserLocale>%OSDUserLocale%</UserLocale> </component> </settings> <cpi:offlineImage cpi:source="wim://umcmwpsccm01/sccm/os/windows7sp1x64enterprice_uk/sources/install.wim#Windows 7 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" /></unattend> Put xml file by properties “apply operating system” I don’t now what I doing wrong. Can you help me? Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted October 28, 2011 Report post Posted October 28, 2011 does it work if you deploy with windows 7 (not sp1) ? 1 Quote Share this post Link to post Share on other sites More sharing options...
JvdA Posted October 31, 2011 Report post Posted October 31, 2011 (edited) No, it's also not working with Windows 7 (not sp1) In ConfigMgr Report I get this message: Resolved source to '\\UMCMWPSCCM01.domain.NL\SMSPKGE$\MWP000B3' Command line for extension .exe is "%1" %* Set command line: Run command line Working dir '\\UMCMWPSCCM01.domain.NL\SMSPKGE$\MWP000B3' Executing command line: Run command line I make a Package that contains de Dutch Language and I also make a distribution point for that. I make no Programs for this Package. Can that be the reason? Edited November 3, 2011 by JvdA Quote Share this post Link to post Share on other sites More sharing options...
JvdA Posted November 21, 2011 Report post Posted November 21, 2011 I find it out! I did not make a toolkit package of MDT and to put that in the task-sequence. I put also the task "Gather" (gather only local data (do not process rules) ) in the tasksequence. Now I have another problem: I can only install one language..... Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted November 24, 2011 Report post Posted November 24, 2011 and that was answered here Quote Share this post Link to post Share on other sites More sharing options...
CelloM Posted November 29, 2011 Report post Posted November 29, 2011 Hello, I followed the steps but get an error at the installation of the languagepack, can someone help me? See error below. Did i miss somethong during the configuration? The task sequence execution engine failed executing the action (Install Dutch Language Packs Offline) in the group (Install LanguagePack Offline) with the error code 2147942402 Action output: stallation state. Load XML.... FindFile: The file Packages.xml could not be found in any standard locations. Packages.xml not found. Creating Packages.xml Creating new Package: D:\_SMSTaskSequence\packages.xml About to run command: expand "D:\_SMSTaskSequence\Packages\H0100126\nl-nl\lp.cab" -F:update.mum "D:\_SMSTaskSequence\ZTIPatches.tmp" Return code from command = 0 Create Package Item : Microsoft-Windows-Client-Refresh-LanguagePack-Package Adding non-language pack entries to unattend.xmlOpen Control File: Packages Add package {FA530DE3-E392-40CB-975E-6EF596E51641} Copying package from D:\_SMSTaskSequence\Packages\H0100126\nl-nl\lp.cab to D:\_SMSTaskSequence\Packages\Package_0001 Copy File: D:\_SMSTaskSequence\Packages\H0100126\nl-nl\lp.cab to D:\_SMSTaskSequence\Packages\Package_0001Package {FA530DE3-E392-40CB-975E-6EF596E51641} added. Ready to Save! Adding language pack entries to unattend.xml Nothing to save, exit. Language pack entries added to unattend.xml successfully. The operating system reported error 2147942402: The system cannot find the file specified. Quote Share this post Link to post Share on other sites More sharing options...
CelloM Posted November 29, 2011 Report post Posted November 29, 2011 At http://social.technet.microsoft.com/Forums/en-US/configmgrosd/thread/6fb55d1e-f66e-4fda-a940-a918746d66ef i read underneath. I have two partitions that are sized equal, is that a problem with the installation of the language pack? I'm using the ZTIPatches.wsf fine as long as there is only one partition or the C: partition is larger than the second partition (D:) otherwise the Patches are downloaded to the second partition (D:) but to not get installed. Having two partitons is a business requirement. The path in the unattend.xml reflexs that the patches have been downloaded to the D: drive but they never get installed. Does anyone know to resolve this? situation? Quote Share this post Link to post Share on other sites More sharing options...
CelloM Posted November 30, 2011 Report post Posted November 30, 2011 I gave up on MDT 2010 for installing the language pack and went back to a script using 'lpksetup.exe /i * /p "%~dp0nl-nl" /r /s' for installing the language pack and an other using 'control intl.cpl,, /f:"%~dp0Dutch.xml"' for setting the language settings, both work perfectly. If anybody wants to know how to set the options in SCCM 2007 to make this work, just let me know. Quote Share this post Link to post Share on other sites More sharing options...
bman Posted March 31, 2012 Report post Posted March 31, 2012 Hello, I have two partitions that get set up in my task sequence of SCCM 2007 with MDTSP1 to deploy Windows 7 along with a language pack. I get the following error that looks like it is a problem installing the language pack caused by having two partitions. The language pack install fails. I have attached the ZTIPatches.log. Thanks for any help. ZTIPatches.log Quote Share this post Link to post Share on other sites More sharing options...
neo-x Posted October 4, 2012 Report post Posted October 4, 2012 I gave up on MDT 2010 for installing the language pack and went back to a script using 'lpksetup.exe /i * /p "%~dp0nl-nl" /r /s' for installing the language pack and an other using 'control intl.cpl,, /f:"%~dp0Dutch.xml"' for setting the language settings, both work perfectly. If anybody wants to know how to set the options in SCCM 2007 to make this work, just let me know. I'd like to know how you got this to work. I'v tried everything. Made a task sequence that: 1 - Creates a folder to the client computer %WinDir%\Custom 2 - Copy the XML file from a package (DP) to %WinDir%\Custom 3 - Run cmd /c control intl.cpl,,/f:"%WinDir%\Custom\xmlfile.xml" and other various versions of commands found with Google. I get errors with Incorrect Function or then it seems to run OK, and it appears in logs and in SCCM client as "Successful", but it doesn't do what it's supposed to do. If I run the command from the CMD prompt, it works fantastic. Quote Share this post Link to post Share on other sites More sharing options...
LEINAD84 Posted November 19, 2012 Report post Posted November 19, 2012 Hello Guys. I'm trying to apply a pt-PT language pack with the same way explained here. But somenthing is going wrong... the task sequence not show any error and process normaly, but the language pack is not install.. In the task sequence log i have the next message: The task sequence execution engine started the group (Install Language Pack). The task sequence execution engine skipped the group (PT-pt) because the condition was evaluated to be false. The task sequence execution engine successfully completed the group (Install Language Pack). Well, the deploy finish and continue in English... Any Sugestions or ideas?? Thank You Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted November 19, 2012 Report post Posted November 19, 2012 well it tells you The task sequence execution engine skipped the group (PT-pt) because the condition was evaluated to be false. what is your UILanguage variable set to ? what the error above is telling you is that the group didn't start because Something was not equal to the value you specified.... I don't know how you set yours up so it's hard to tell.. Quote Share this post Link to post Share on other sites More sharing options...
LEINAD84 Posted November 19, 2012 Report post Posted November 19, 2012 well it tells you what is your UILanguage variable set to ? what the error above is telling you is that the group didn't start because Something was not equal to the value you specified.... I don't know how you set yours up so it's hard to tell.. Thanks for your reply! Well, step by step: 1 - i create a folder in my sccm server with the root languagepack\portuguese\pt-PT\.cab file 2 - Create a package of this language pack ( without program ) and point / update my DP 3 - In my Task Sequence i think i did you told here ( Below Apply Windows Settings and Apply Network configurations and UP Setup Windows Confmgr ) - Create a folder with a name Install Language Packs Offline - Create a Sub folder with name Portuguese with the condition LanguageValue equals "Portuguese" - Create a variable Task with "TASK SEQUENCE VARIABLE = OSDUILanguage and VALUE = "pt-PT" - Finally i create a MDT Language Pack Offline contains the package i created before. 4- After that i change my unnatended file in 'oobeSystem': - InputLocale = %OSDInputLocale% - SystemLocale = %OSDSystemLocale% - UILanguage = %OSDUILanguage% - UILanguageFallback = %OSDUILanguageFallback% - UserLocale = %OSDUserLocale% 5 - Save my Unnatended File 6 - Point this unnatended file in my Task sequence, under 'Apply Operation System' What i doing wrong? i missed some steps? Plz Help me! i'm already on it for days.... Thank You very Much Quote Share this post Link to post Share on other sites More sharing options...
LEINAD84 Posted November 21, 2012 Report post Posted November 21, 2012 Hello all, I found another solution with DISM: http://technet.microsoft.com/en-us/library/dd799306(WS.10).aspx Worked for me! Thank you, Quote Share this post Link to post Share on other sites More sharing options...
fr0zen Posted December 4, 2012 Report post Posted December 4, 2012 Hello all, I found another solution with DISM: http://technet.micro...306(WS.10).aspx Worked for me! Thank you, hey i tried dism too, but now it prompts us to select the default language for the OS. I want default to be english and other language packs to be optional. Were you able to skip the language selection dialog during setup of windows? Quote Share this post Link to post Share on other sites More sharing options...
chandru.017 Posted April 30, 2014 Report post Posted April 30, 2014 Hi I am trying to do the deployment using the approach in this post. I am facing some issues I have a HTA which runs at the start of the task sequence. The HTA basically prompts to enter computer name and select the country. This HTA after pressing submit button sets the values for task sequence variables (OSDComputerName,LanguageValue,RegionValue) Based on the values of the LanguageValue and RegionValue, I am running steps in task sequence steps to install language pack and set regional settings following the approach mentioned above. I have done almost eveything which is said above in the post. But after installing OS and Language pack, setup windows and configuration manager task runs, and reboots. After reboot I get a wizard to select the language and also to enter the computer name(even though the OSDcomputername variable is set in the HTA script). Any idea where I might be doing wrong Unattend.xml Quote Share this post Link to post Share on other sites More sharing options...
OnlyThere4TheCookies Posted June 12, 2014 Report post Posted June 12, 2014 Hi, I am interested in implementing your solution for Language Packs but i cannot find anywhere the Language Pack DVD. Do you have a link? Thanks Quote Share this post Link to post Share on other sites More sharing options...
anyweb Posted June 12, 2014 Report post Posted June 12, 2014 Hi, I am interested in implementing your solution for Language Packs but i cannot find anywhere the Language Pack DVD. Do you have a link? Thanks Where can I find Windows 7 Language Packs ? Download the language pack from MSDN which suits your architecture, choose a language other than English (eg: Swedish) then choose the Windows 7 operating system, in the downloads listed you’ll see the language packs... Quote Share this post Link to post Share on other sites More sharing options...