Jump to content




anyweb

Customising Windows 7 deployments - part 6. Adding multiple keyboard layouts and multiple languages



Recommended Posts

This post is an addition to Part 4 where we installed Language packs on a one-by-one basis (i.e. one language pack selected, one installed, one keyboard layout selected, one installed). What if you want to install multiple Language packs and multiple Keyboard Layouts well this is how to do it...but before we continue, make sure you have successfully completed Part 4 before attempting this.

 

To make this possible I adapted the windows-noob.com Multipurpose FrontEnd HTA so that i could select Multiple languages and Multiple Keyboard Layouts, this change is only a minor one to both the backend script (HTA) and the task sequence itself, so rather than explain all about them i'll post this bits you need to know here. Also, I havn't ported these changes yet *but will soon* into the BitLocker Frontend HTA which I think looks much cooler, so I hope that you check that one out also.

 

So where do we start, with the actual frontend HTA backend code.. aka, the HTA itself.

 

The following section has been changed in the Deploymenu.HTA file,

 

   	<tr>
       	<td class="taskTableLeftCell" >Regional Settings</td>
       	<td colspan="3" class="taskTableSpanSecondAndThirdCell">
           	<select name="regionDropDown" id="regionDropDown">
				<option value="None">None</option>
				<option value="Multi">Multi</option>
				<option value="En-US">En-US</option>
				<option value="sv-SE">sv-SE</option>
				<option value="da-DK">da-DK</option>
				<option value="nb-NO">nb-NO</option>
				<option value="fi-FI">fi-FI</option>
           	</select>
		</td>
	</tr>
	<tr>
		<td class="taskTableLeftCell" >Language Settings</td>
       	<td colspan="3" class="taskTableSpanSecondAndThirdCell">
           	<select name="languageDropDown" id="languageDropDown">
				<option value="None">None</option>
				<option value="Multi">Multi</option>
				<option value="English">English</option>
				<option value="Swedish">Swedish</option>
				<option value="Danish">Danish</option>
				<option value="Norwegian">Norwegian</option>
				<option value="Finnish">Finnish</option>
           	</select>
       	</td>
   	</tr>

 

the new bits in both drop down menus (regional/language) are this

 

				<option value="None">None</option>
				<option value="Multi">Multi</option>

 

and they offer us the ability to set nothing (and get the default en-US/English) or to select Multi or to select ONE language or ONE keyboard layout. The MULTI option is special. It simply sets a variable which will run a group of steps to select multiple languages and/or keyboard layouts in the task sequence. The screenshot below shows both Regional (keyboard layout) and Language options have been set to Multi via the drop down menu.

 

multi multi.png

 

 

 

 

Setting the Regional options

 

If we select Multi for Regional options then the following group is run in the task sequence

 

regional multi.png

 

the Options tab is where it detects the RegionValue variable value and if it equals Multi this group is executed

 

regionvalue equals multi.png

 

the first step of the group sets the OSDInputLocale variable and it sets the Default keyboard layout (the first one listed) and the remaining available keyboards added to windows

 

OSDInputLocale.png

 

the values in that step are as follows

 

en-US;0409:00000409;da-DK;0406:00000406;fi-FI;040b:0000040b;sv-SE;041d:0000041d;nb-NO;0414:00000414


 

Note: You can get a list of these values on MSDN here.

 

the remaining steps of this group simply set OSDSystemLocale and OSDUserLocale to be equal to en-US.

 

OSDSystemLocale.png

 

Setting the Language options

 

The first step of this group (which only runs if the LanguageValue variable=Multi) is to set the OSDUILanguage, I set it to en-US.

 

OSDUILanguage.png

 

The next step installs the Language pack offline. The only magic here is in the language package, it must contain ALL of the language packs you intend to install as part of your Multi Language installation, so in my example I install 4 languages,

  • Swedish
  • Danish
  • Finnish
  • Norwegian

and all those language packs are in my Offline Nordic Language Pack. Your multi language pack could contain however many languages you intend to install as a group, but the more you add the longer the install will take.

 

 

 

offline nordic language packs.png

 

What is the result ?

 

so what do you get when it's all done ? you get the ability to use a drop down keyboard selector on the Windows 7 login screen

 

logon keyboard.png

 

and you can choose the same keyboard layouts within Windows

 

keys in windows.png

 

and the languages are available also

 

languages.png

 

jod done, i'd say :-)

 

Download the goodies

 

Here's the updated task sequence and HTA files, you dont have to use a HTA to set the variables you can do that via collection variables or some other method but doing it in a HTA is cool. People will like you more.

 

DeployMenu.zip

 

have fun !

cheers

niall

Share this post


Link to post
Share on other sites


Hi Niall

 

This is a brilliant post however I'm struggling to install Windows 7 language packs dynamically based on the collection variables. I have posted the question in TechNet forum & below is the link to my question

 

http://social.technet.microsoft.com/Forums/en-US/configmanagerosd/thread/47c5b831-c362-4c61-8a36-515b3c0f9bab

 

Can you please assist me in this regard.

Share this post


Link to post
Share on other sites

use computer variables or collection variables

Share this post


Link to post
Share on other sites

Hi Nial,

 

Just wondering why it is nessecary to add InputLocale with both values en-US and 0409:00000409? Wouldn't just en-US be enough?

Share this post


Link to post
Share on other sites

try it, it's a looooooooooong time since i did this post and i guess it was necessary for me then, however i'm always happy to be corrected :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×