Regional settings default to English when deploying a virtual machine using a template on System Center 2012 Virtual Machine Manager

Applies to: System Center 2012 Virtual Machine Manager

Symptoms


Consider the following scenario:

· A virtual machine is configured to use regional settings other than en-US (example: ja-JP or fr-FR).

· A VM template is created from this virtual machine using System Center 2012 Virtual Machine Manager or System Center 2012 Virtual Machine Manager 2012 Service Pack 1 (SP1).

· Virtual machines that are created using this template are configured to use the en-US regional settings. 

Cause


Deploying virtual machines using this scenario will override the guest OS language setting with en-US by default.

Resolution


There are two possible workarounds for this issue

Option 1

1. Launch the VMM Console.

2. Click on the Settings option. 

3. Click on PowerShell and execute the commands below on the respective Template.

$template = Get-SCVMtemplate | where {$_.Name  -eq "Template_Name"} 
$settings = $template.UnattendSettings;
$settings.add("oobeSystem/Microsoft-Windows-International-Core/UserLocale","cy-GB");
$settings.add("oobeSystem/Microsoft-Windows-International-Core/SystemLocale","cy-GB");
$settings.add("oobeSystem/Microsoft-Windows-International-Core/UILanguage","cy-GB");
$settings.add("oobeSystem/Microsoft-Windows-International-Core/InputLocale","0452:00000452");
Set-SCVMTemplate -VMTemplate $template -UnattendSettings $settings

NOTE For the steps above, the regional settings (e.g. cy-GB) will vary based on the language being used.

Option 2

Create an unattend.xml with the specific locale settings required. Below is a sample unattand.xml set to en-us but you can replace the en-us entries with the language code of your choice.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>en-us</InputLocale>
            <SystemLocale>en-us</SystemLocale>
            <UILanguage>en-us</UILanguage>
            <UILanguageFallback>en-us</UILanguageFallback>
            <UserLocale>en-us</UserLocale>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/install.wim#Windows Server 2012 SERVERDATACENTER" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Please refer to the following sites for the regional settings that should be used for each language:

Language Pack Default Values: http://technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx

Default Input Locales: http://technet.microsoft.com/en-us/library/cc766503(v=ws.10).aspx