Jump to content


anyweb

How can I install Windows 10 language packs offline with an MDT Integrated Task Sequence in System Center Configuration Manager (Current Branch)

Recommended Posts

The language packs seem to have changed in Win10 1607.

How are they supposed to be named in order for MDT to install as part of a task sequence?

 

*edit*

 

It looks like the cab file still needs to be in a folder titled the same as the language (de-de). The names of the cab files have changed: "Microsoft-Windows-Client-Language-Pack_x64_de-de.cab"

 

This file works for Win10 1607 but will not work for previous versions (1511 or 1602).

Edited by Rickett
  • Like 1

Share this post


Link to post
Share on other sites


It does not seem to work with Config Manager 1606, Mdt 2013u2 and Windows 1607. Is there another way to install the language pack in the task sequence other then the MDT Install language pack offline task ?

Share this post


Link to post
Share on other sites

 

This file works for Win10 1607 but will not work for previous versions (1511 or 1602).

 

you must always use the correct language pack cab file for the respective version of Windows, so Windows 10 1607 needs the 1607 cab files, and same for Windows 10 1511, it needs the 1511 language cab files and so on...

Share this post


Link to post
Share on other sites

It does not seem to work with Config Manager 1606, Mdt 2013u2 and Windows 1607. Is there another way to install the language pack in the task sequence other then the MDT Install language pack offline task ?

 

what doesn't work exactly, can you attach your smsts.log file so i can take a look ?

Share this post


Link to post
Share on other sites

I like this method for installing Windows 10 in several different language versions, but what if I want to install Windows 10 in dutch language by default (nl-NL) and want to add the language English (en-US) as an extra option so the user can change it when he or she decides to without having to download the language pack because it was already pre-installed during the task sequence? So far I ended up with just one language and the user still has to add the second language manually. I want it to look like below right after a new user logs onto the system (two languages available)

 

languages.jpg

 

 

Share this post


Link to post
Share on other sites

as long as you don't change the OSDUILanguage of the operating system then you should have what you want, so just modify the solution presented above to achieve that (disable the OSDUILanguage references or set them to en-us)

Share this post


Link to post
Share on other sites

I actually want the OSDUILanguage to be nl-nl and I want the English language pack to be installed as well by default. I have a hard time translating your suggestions to a working TS :)

 

I added the following steps to my TS

 

osd01.jpg

 

Using these dynamic variables

 

osd02.jpg

 

With this OSDUILanguageFallback

 

osd03.jpg

 

And this LanguageValue

 

osd04.jpg

 

The package contains only the en-us language pack for Windows 10 1607. After the TS I end up with a OS in Dutch with English as an extra language, but the Dutch language choice is missing and the region is set to the United States (Verenigde Staten) but should be The Netherlands (Nederland). English is also the default language. The deployment Collection has a RegionValue of English.

 

osd05.jpg

 

Unattend.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://**********/sccmsource$/images/windows10/custom/cbb/refw10-x64-nl-cbb-1607.1-v0.2.wim#REFW10-X64-001DDrive" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

So... I think I am stil doing something wrong here, just no idea what is needed to fix it. I don't want just an English version of Windows 10 or just a Dutch version. I want it to be Dutch by default and under languages I want the English language already installed as an extra language option. :huh:

Share this post


Link to post
Share on other sites

if you want it dutch by default then install using the dutch media and add the english language pack as an add on

Share this post


Link to post
Share on other sites

if you want it dutch by default then install using the dutch media and add the english language pack as an add on

 

We do use the dutch media to install. What is the best way to add the english language as a add-on and have it present by default for all users? audit mode during the reference image? dism in the task sequence? Installation always seems to work, but it doesn't show after logging on :D

Share this post


Link to post
Share on other sites

Hi Niall
Hi Hotzenwalder

Niall, thanks for your excellent work here - I got a lot of Informations and Helps out of your Guides!

Hotzenwalder, I struggled at the same point, but Roger Zander from Switzerland has an interesting Blog about the Language Packs - as you can read in his Post http://rzander.azurewebsites.net/how-to-change-the-welcome-screen-language-in-win10/ will this type of implementing language packs transform the hole OS-Installation to the final Language. But best read it for detailed explanation...

Edited by info@stefankumli.ch

Share this post


Link to post
Share on other sites

I have a problem that I hope someone can help fix. I have multiple language packs installed in my reference image. In my frontend, I have a language selection. Based on the, I populate the variable %OSDUILangage% that gets set in my unattended.xml

<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>

When the computer installs, the Logon window is the correct language but once logged on, the display is in English. The language pack does show up in Control Panel so I know it is installed. What am I doing wrong?

post-6741-0-18670300-1483544491_thumb.png

post-6741-0-93941200-1483544499_thumb.png

post-6741-0-77105800-1483544507.png

Share this post


Link to post
Share on other sites

have you tried grabbing the unattend.xml after it's modified after the apply operating system step and before the restart computer step ?

Share this post


Link to post
Share on other sites

Here is the unattend.xml file that was in c:\windows\panther\unattend\ It was taken from a machine that was being set up in French but it is having the same issue.

<?xml version="1.0"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
	<servicing><package action="install"><assemblyIdentity name="Microsoft-Windows-Client-LanguagePack-Package" version="10.0.10240.16384" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="de-DE"/><source location="C:\_SMSTaskSequence\Packages\PACKAG~1\lp.cab"/></package><package action="install"><assemblyIdentity name="Microsoft-Windows-Client-LanguagePack-Package" version="10.0.10240.16384" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="en-US"/><source location="C:\_SMSTaskSequence\Packages\PACKAG~1\lp.cab"/></package><package action="install"><assemblyIdentity name="Microsoft-Windows-Client-LanguagePack-Package" version="10.0.10240.16384" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="fr-FR"/><source location="C:\_SMSTaskSequence\Packages\PACKAG~1\lp.cab"/></package></servicing><cpi:offlineImage cpi:source="wim://server/m$/temp/w10/sources/install.wim#Windows 10 Enterprise" xmlns:cpi="urn:schemas-microsoft-com:cpi"/>
	<settings xmlns="urn:schemas-microsoft-com:unattend" pass="generalize"><component name="Microsoft-Windows-Shell-Setup" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<RegisteredOrganization>COMPANY</RegisteredOrganization>
			<RegisteredOwner>Information Systems</RegisteredOwner>
		</component>
	</settings><settings xmlns="urn:schemas-microsoft-com:unattend" pass="oobeSystem"><component name="Microsoft-Windows-Shell-Setup" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<OOBE>
				<NetworkLocation>Work</NetworkLocation>
				<ProtectYourPC>1</ProtectYourPC>
				<HideEULAPage>true</HideEULAPage>
			</OOBE>
			<TimeZone>Romance Standard Time</TimeZone>
			<RegisteredOrganization>COMPANY</RegisteredOrganization>
			<UserAccounts>
				<AdministratorPassword>
					<Value>bBApAHQANAB1ADIAMAAwADAAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQAAAA=</Value>
					<PlainText>false</PlainText>
				</AdministratorPassword>
			</UserAccounts>
			<RegisteredOwner>Information Technology</RegisteredOwner>
			<WindowsFeatures>
				<ShowWindowsMail>false</ShowWindowsMail>
			</WindowsFeatures>
		</component>
		<component name="Microsoft-Windows-International-Core" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<SystemLocale>fr-FR</SystemLocale>
			<UserLocale>fr-FR</UserLocale>
			<UILanguage>fr-fr</UILanguage>
			<InputLocale>fr-FR</InputLocale>
			<UILanguageFallback>En-US</UILanguageFallback>
		</component>
	</settings><settings xmlns="urn:schemas-microsoft-com:unattend" pass="specialize"><component name="Microsoft-Windows-Shell-Setup" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<ShowPowerButtonOnStartScreen>true</ShowPowerButtonOnStartScreen>
			<CopyProfile>true</CopyProfile>
			<ComputerName>FRANCE1</ComputerName>
			<RegisteredOrganization>COMPANY</RegisteredOrganization>
			<RegisteredOwner>Infomration System</RegisteredOwner>
		</component>
		<component name="Microsoft-Windows-Deployment" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<RunSynchronous>
				<RunSynchronousCommand><Order>3</Order>
					<Description>disable user account page</Description>
					<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand><Order>2</Order>
					<Description>UnfilterAdministratorToken</Description>
					<Path>cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand><Order>1</Order>
					<Description>Enable Admin</Description>
					<Path>cmd /c net user Administrator /active:yes</Path>
				</RunSynchronousCommand>
			</RunSynchronous>
		</component>
		<component name="Microsoft-Windows-UnattendedJoin" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<Identification>
				<Credentials>
					<Username>OSDuser</Username>
					<Domain>COMPANY</Domain>
					<Password>password</Password>
				</Credentials>
				<MachineObjectOU>OU=France,DC=ad,DC=company,DC=biz</MachineObjectOU>
				<JoinDomain>ad.company.biz</JoinDomain>
			</Identification>
		</component>
	</settings><settings xmlns="urn:schemas-microsoft-com:unattend" pass="windowsPE"><component name="Microsoft-Windows-Setup" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<Display>
				<RefreshRate>60</RefreshRate>
				<HorizontalResolution>1024</HorizontalResolution>
				<VerticalResolution>768</VerticalResolution>
				<ColorDepth>16</ColorDepth>
			</Display>
			<UserData>
				<Organization>COMPANY</Organization>
				<AcceptEula>true</AcceptEula>
				<FullName>Information Systems</FullName>
			</UserData>
		</component>
	</settings></unattend>

Is looks like it is setting the language correctly.

 

Would <CopyProfile>true</CopyProfile> (line 36) change the language back?

Share this post


Link to post
Share on other sites

To add more mystery. If I add another language after I sign on, that language that is set to default changes to say it "Will be display language after next sign-in" and it does indeed change.

Share this post


Link to post
Share on other sites

can you explain this part of your original post

 

"I have multiple language packs installed in my reference image"

Share this post


Link to post
Share on other sites

Before I created the WIM and ran sysprep, I installed multiple language packs (German, French, Chinese, etc.).

 

As a test, I just removed the language packs and then recreated my image, same result though.

Share this post


Link to post
Share on other sites

Does it use the file C:\Windows\Panther\unattend.xml or C:\Windows\Panther\Unattend\unattend.xml?

Share this post


Link to post
Share on other sites

Ok, I found the issue and fix but now my default profile isn't correct...

 

I removed <CopyProfile>true</CopyProfile> from my unattend.xml file. Should that be copying the language too?

 

Since I'm not copying the profile, how do I configure the profile so that users can change the settings if they want? I want to show all icons in the notification center, show only the search icon and not have anything pinned to the start menu.

Share this post


Link to post
Share on other sites

Hello,

 

I am new here and the first few steps in this post had been very helpful. But unfortunately I am facing the same issues as Kevin79 described in his post #36. I have used an English OS, Win 10 Enterprise and my additional language shows up at Control Panel\Clock, Language, and Region\Language, but the language needs to be installed finally. It is selecting the correct language, so I guess that some parts of the task sequence are working correctly.

 

My unattend.xml looks like this:

<?xml version="1.0" encoding="UTF-8"?>
-<unattend xmlns="urn:schemas-microsoft-com:unattend">
-<settings pass="oobeSystem">
-<component language="neutral" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" versionScope="nonSxS" publicKeyToken="31bf3856ad364e35" processorArchitecture="amd64" name="Microsoft-Windows-International-Core">
<InputLocale>%OSDInputLocale%</InputLocale>
<SystemLocale>%OSDSystemLocale%</SystemLocale>
<UILanguage>%OSDUILanguage%</UILanguage>
<UILanguageFallback>%OSDUILanguageFallback%</UILanguageFallback>
<UserLocale>%OSDUserLocale%</UserLocale>
</component>
</settings>
<cpi:offlineImage xmlns:cpi="urn:schemas-microsoft-com:cpi" cpi:source="wim://xxxxxx/sources/os/win10_64bit/sw_dvd5_win_ent_10_1607.1_64bit_english_mlf_x21-27030/sources/install.wim#Windows 10 Enterprise"/>
</unattend>

My language packs are distributed as packages, so they are not part of the image itself.

 

Any hint/idea would be helpful.

 

Thanks,

 

Alex

 

Share this post


Link to post
Share on other sites

Hi Niall

 

Thanks for this (among many others) excellent guide.

 

After getting this working perfectly, I've only got one small obstacle to overcome. Have you noticed that the Modern applications (e.g. Calculator) remain in English until updated from the Store.

It's something we can live with, however if you know how to give the task sequence this last bit of polish I'd love to hear how.

 

Thanks!

Share this post


Link to post
Share on other sites

Niall, Good post. I can use help.  See my screen shot below, on the step: Install Language Packs Offline my T.S. fails with Incorrect Function 0000001 in the SMSTS.log
Any ideas?
Thanks
 

MDTLang.JPG.4257d21aa450c075150ddf027f87f08f.JPG

Share this post


Link to post
Share on other sites

attach the smsts.log and i'll get some clues :)

 

Share this post


Link to post
Share on other sites

Read your logs Fella's.
Using the red highlighted line as a starting point, as I looked up several lines the answer was in front of me the whole time: Input Error: Can not find script file "C:\_SMSTaskSequence\WDPackage\Scripts\ZTIPatches.wsf".

in my T.S. you see I have the MDT toolkit and gather BEFORE the PARTITION & FORMAT step. not smart unless I add those steps again after the Partition & Format step.

Now my Language pack installs. All that's left to figure out is why these do NOT get set: Input Method and Display language. The System Locale, Format and Location settings DO get set. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...