Configure Multi Language Applications in VDI by Using Filters in Login AM 2012

A multi lingual user environment is in many companies a requirement nowadays. Many vendors provide multi language versions of their applications, but the configuration itself might be different depending on the application itself. So why not show you how easy it is to configure the Multilanguage version of “Adobe Acrobat Reader X” by using filters in Login AM for Hosted Desktops 2012. You can easily adopt this functionality to other applications without the need of scripting.
If you install the MUI version of Adobe Acrobat Reader X the user will be prompted to choose a language the first time the application starts. This dialog itself is not a big hurdle but I have seen some users which were confused about it. You can easily preconfigure it using the User Environment component of Login AM for Hosted Desktops 2012.
Adobe Reader language dialog
At first you need to get familiar with the application itself
The language specific settings are stored in the users registry key “HKEY_CURRENT_USER\ Software\Adobe\Acrobat Reader\10.0\Language”. I created registry exports of this key for several languages (Czech, English, Dutch, German and French).
Implement it into Login AM
In Longin AM it is very easy to import registry exports to the user environment using the RegImport ActionItem in the User\Logon phase. The only thing you have to think about is to create a rule which applies to a user with a specific language.
Figure out the correct filter
For almost every item a filter option available in Login AM. We have a lot of preconfigured filters available (see table filters), so I used the UILang (User Interface Language) filter which covers my rule best. The UILang filter will return true if the corresponding locale ID (LCID) is matched. That means only Registry files for that specific language will be imported. In case I missed a language, nothing will be imported and the user will be prompted with the “choose language dialog”.
Login AM - Apply filters
General information on filters
Available filters in Login AM:
DayOfWeek |
Check on a specific Day |
DayOfWeek='Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday' |
EnvVar |
Check for an environment variable |
EnvVar='Systemroot:*wind*' |
FileExist |
Check if a file or folder exists |
FileExist='%homedrive%\exmaple\test.txt' |
Hostname |
Test for a specific hostname |
Hostname='SRV0*' |
IPAddress |
Test for a specific IP address or Range |
IPAddress='192.168.*' |
IsInADSite |
Check for an Active Directory site |
IsInADSite='Default-First-Site-Name' |
IsInOU |
Check for a specific Organization Unit in AD. |
IsInOU='%computername%:ou=Servers' |
MemberOf |
Check for group membership |
MemberOf='*\Domain Users' |
OddEven |
Check if hostname ends with an even or odd number |
OddEven='Odd | Even' |
OSArch |
Check on Operating System architecture |
OSArch='x64 | x86' |
OSLang |
Check on Operating System language |
OSLang='1033' |
OSVersion |
Check on Operating System version |
OSVersion='6.*' |
RegkeyExist |
Test if a registry key exists |
RegkeyExist='HKLM:Software\Microsoft' |
RegValExis |
Test if a registry value exists |
RegValExist='HKLM:Software\Microsoft:License' |
Role |
Test for a server role (AM specific variable) |
Role='*XenApp*' |
ServiceStartMode |
Check start mode of a service |
ServiceStartMode='spooler:boot|system|auto|demand| disabled|delayed-auto' |
ServiceStatus |
Check the current status of a service |
ServiceStatus='spooler:running|stopped|paused' |
SPVersion |
Check on Operating System service pack |
SPVersion='2' |
UILang | Test on User Interface language | UILang='1033' |
UserName | Check for a specific user name | UserName='JohnDo*' |
Here you can find a list of the locales/languages with an assigned Locale ID (LCID).
Also make sure to read my blog on how to turn the screensaver on and off between Thin and Fat Clients with Login AM Filters.