I Won't Cry For Thee, Argentina

by Michael S. Kaplan, published on 2011/09/15 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2011/09/15/10211461.aspx


A segue -- a wonderful performance of Andrew Lloyd Webber's Don't Cry For Me Argentina (from Evita, sung by Elaine Page):

Okay, this should get you in the mood for today's blog.... :-)

The question was straightforward enough:

Hope you are doing well , I m needing a help with a customer in Argentina, they are using a unantend.xml to install Windows 7, the part of the XML that is showing the issue is pasted below, the customer wants to use the Spanish Argentina Layout on the XML file, so they are putting “es-ar” as User Locale , and UIlanguage , as per my research those are non documented values (ref: Available Language Packs) , so I would like to confirm If I m right ? and if I m right , is the only solution to use “es-ES”. Do we have any way to configure the Layout as Spanish Argentina ?

            <InputLocale>0000080a</InputLocale>
            <SystemLocale>es-es</SystemLocale>
            <UILanguage>es-es</UILanguage>
            <UILanguageFallback>es-es</UILanguageFallback>
            <UserLocale>es-AR</UserLocale>

When we are using the code above, this window is displayed and the customer want to answer that from the XML file, if its possible to select Spanish Argentina from the XML.

Well, as the link to the Available Language Packs indicates, the only Spanish Language Pack we have is es-ES -- there is no es-AR.

So if you put an unknown value in the answer file, you'll be prompted by setup.

Though I'll admit there is some doc confusion -- like in the fact that the <User Locale> info points to the UI Langauage list. The whole area can be confusing enough that fixing the weird links might make sense....

Now as this link indicates, UILanguageFallback only makes sense when two conditions are met:

  1. When the UILanguage isn't fully localized (which does not apply to Spanish)
  2. When resources aren't available in the UILanguage and you want to know what language to fall back to (which makes no sense to fall back itself)

But of the other values, the InputLocale looks wrong. It is documented as follows:

Specifies the input language and keyboard layout for a Windows installation.

Input_locale can be one of two values:

To use the default input locale for a language, you can specify the language identifier. For example, to use the default keyboard for English (United States) that corresponds with the QWERTY keyboard, you can specify the value en-US.

Specify the locale ID and keyboard layout hexadecimal values. For example, for en-US, use 0409:00000409. The first value (0409) is the locale ID that represents the input language and the second value (00000409) is the keyboard layout value.

If you want to specify more than one input locale to add support for more than one keyboard type, you can specify multiple values separated by semicolons. For example, you can specify <InputLocale>en-US; fr-FR; es-ES</InputLocale> to add support for English (US), French (France) and Spanish (Spain) keyboards. The first value listed is used as the default keyboard.

The valid keyboard layouts that can be configured on your system are listed in the following registry key. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts

For a list of the default input locale values, see Supported Language Packs and Default Settings. 

So while putting in either

<InputLocale>2c0a:000008a</InputLocale>

or

<InputLocale>es-AR</InputLocale>

is legal, clearly

<InputLocale>000008a</InputLocale>

is not....

The final text in the answer file:

<InputLocale>2c0a:0000080a</InputLocale>
<SystemLocale>es-es</SystemLocale>
<UILanguage>es-es</UILanguage>
<UserLocale>es-AR</UserLocale>

should do much better, and get you this keyboard:

If you use the other syntax, all of the keyboards in the LOCALE_SKEYBOARDSTOINSTALL will be added.

Beyond that, Martin had some great advice to help out in these kinds of situations:

An easy way to find out such a (sometimes complicated!) syntax is to use the Microsoft Deployment ToolKit (MDT 2010).
You can use the GUI to select your values and MDT creates a summary page showing the details to enter into the unattend.xml file.

Quite helpful and safes a lot of troubleshooting time.

MDT? It's right here. Good advice!

So I Won't Cry For Thee Argentina,  because you can still use es-ES for the Spanish Language Pack, and if you put in the InputLocale properly, you should get what you're expecting. And for all such situations there is a way to find out exactly what you need....


no comments

go to newer or older post, or back to index or month or day