Recently in one of my VMware View engagements I had to fix an issue related to the Windows default input language. Then last week I noticed another consultant asking about the same issue in one of our internal distribution lists here at VMware so I decided to share my findings.
The scenario is only activated when VMware View Composer is used in combination with RDP (the issue does not happen with PCoIP). After cloning the template using View Composer the new virtual machine will be set as English (United Stated) keyboard layout as the default keyboard layout, even tho another input-language has been set as Default on the template.
I will also discuss here a scenario with PCoIP when it’s required to disable input language synchronization.
back to the… RDP default keyboard layout issue
As RDP at Windows XP is in truth a terminal server session, as an example, if your template is configured with an input-language setting of French and a keyboard layout setting of French (Canada), the Terminal Server session of the cloned template defaults to an input-language setting of English and a keyboard layout setting of French (Canada).
The good news is that this actually turns out to be a long known MS terminal services issue. The bad news is that the issue affects all Windows XP releases and service packs. I have seen the issue happening on Windows XP SP3, even tho Microsoft says it only affects SP2.
You will need to apply both the registry changes from kb322042 and apply the HotFix mentioned at kb906693. Each one by itself will not solve the problem.
Note that the HotFix 906693 is intended for Windows XP SP2 so if you are running XP SP3 and don’t want to replace DLLs with older versions I would recommend you to leverage your organisation’s Microsoft support and ask for a compatible patch for SP3, as I don’t think it has been published.
PCoIP Input Language Synchronization
When using PCoIP the client side keyboard layout or IME is mapped to the Agent VM. If you want to disable input language synchronization so that the remote desktop input language is preserved create the following registry entry.
pcoip.ignore_host_default_input_lang_synch [key type is DWORD] [Value = 1]
to disable input language synchronization between host and guest.