<img alt="" src="https://secure.inventive52intuitive.com/789747.png" style="display:none;">
Using AppSense to deploy multiple language setting

Using AppSense to deploy multiple language setting

Posted by HTG

Sometimes you need to deploy different language and locale settings to different groups of XenApp/XenDesktop users in your environment. This can prove tricky when using AppSense Environment Manager and Personalization Server to manage the environment. However, with a little bit of tweaking, you can configure the settings to be set for users on a group-by-group basis.

I’m making the assumption that you’ve already created Active Directory security groups for each language setting and added the required users to them. For instance, if you had two groups of users, one requiring French language settings, and one requiring English, you might create two groups called LANG_FRENCH and LANG_ENGLISH and populate them with the necessary users.

Now, if you want your French users to be able to log on to terminals in England and receive French settings (or vice versa), you’ll have to use AppSense (or other tool of choice) to disable the remote client settings detection. If you don’t, the XenApp/XenDesktop system will detect the client settings (which I am assuming would be set to English) and then pass these into the user’s session. So we will need to set the Registry value in a Computer Startup action (bearing in mind all the usual gotchas regarding base images and the like)

Next we need to configure the Regional Settings and keyboard settings for the various user groups. Sadly, this is another area where AppSense Environment Manager loses out to Group Policy Preferences (feature request!) As it stands, you can’t deploy Regional Settings through EM natively – you have to find the Registry settings and deploy them through Action | Registry  | Set Registry Value. This is a little fiddly to say the least, and if I wasn’t an AppSense bigot I’d probably go running back to GPP in a flash for this function, so sort it out, AppSense.
The first key we’re after is HKCU\Control Panel\International, and we’ll need all of the values out of here to cover such things as date format, currency format, etc. Interestingly (I could be wrong though), it seems as if the iCountry value is based on the international dialing codes – except for Canada (which normally shares with the US), which has been changed from 1 to 2. Bit of anti-Canadianism at Redmond maybe? 🙂
To get these values I changed my Regional Settings and keyboard settings to the target language required, performed an export of the Registry key above from regedit.exe and then used the Action | Registry | Import Registry File function to import the settings into EM. The subfolder of the Registry key ( Geo) also provides us with the user’s geographical location. For posterity, Microsoft provide a full list of geographical location codes here.


You’ll need to continue this process of exporting and importing Registry values for your various user group conditions for the following sets of Registry values (which deal with display language and keyboard layout):-

HKCU\Control Panel\Desktop
Values: SetPreferredUILanguages and SetPreferredUILanguagesPending
HKCU\Keyboard Layout
Value: 1
After this it might make sense to hide the annoying Language Bar (although most people get rid of this in their base profiles, because it’s not the most popular invention ever to make it into Windows). You’ll need to use another Set Registry Value action

The next step is to make sure we aren’t capturing any language or locale-specific settings into Personalization Server. Why? Because if, for whatever unlikely reason, a user is added to one language group and then removed or moved to another, the Personalization Server will attempt to recreate the previously-deployed settings

On the Personalization Server screen, click Desktop Settings in the Tools tab and remove the following check boxes so that your settings match those in the image below



You should now be ready to go, if you have captured the language-based Registry settings successfully for your various AD security groups, you should now see different locale-based settings deployed to members of each group as they log in.

Update – as requested in the comments, I have uploaded a sample configuration showing just English language settings here. Please note this doesn’t include the Personalization Server change to Desktop Settings – you’ll have to do that in addition to importing the config.

Contact

Want to partner with us?

Get in touch to learn more about our services or arrange a free 30-minute consultation with one of our Secure Cloud Experts.

Get in touch
HTG - Contact CTA