Итак, OEM установка локализованной версии Vista с правильно прописанными дефолтными региональными настройками в oobe.xml наподобии:
<defaults>
<language>1058</language>
<location>242</location>
<locale>1058</locale>
<keyboard>00000409</keyboard>
<timezone>E. Europe Standard Time</timezone>
</defaults>
Пользователь запускает машину, по инерции выбирает Украина — Украинский — Украинская расширенная раскладка клавиатуры на первом экране начальной настройки Windows после ее старта из "запечатанного" sysprep-ом состояния. После входа в систему автоматически выставляется соответствующая раскладка клавиатуры (Украинская) раскладкой по умолчанию. Это ужасно неудобно, но, впрочем руками для текущей учетной записи правится легко. Log-off. Попытка и мучения по входу в систему под другой учетной записью. Выясняется, что и для Log-on screen раскладка клавиатуры тоже по умолчанию Украинская и такой остается — надо переключаться дополнительно и не забывать это делать каждый раз. Ужасно неудобно.
Вопрос: как это поправить и какие превентивные действия нужно предпринять, чтобы избежать этой ситуации. Как это поправить для всех, в том числе и создаваемых в будущем учеток?
Ответ:
1. Создать *.xml файлик примерно такого содержания:
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<!—User List—>
<gs:UserList>
<gs:User UserID="Current"/>
</gs:UserList>
<!—input preferences—>
<gs:InputPreferences>
<!—en-US—>
<gs:InputLanguageID Action="add" ID="0409:00000409" Default="true" />
<!—uk-UA—>
<gs:InputLanguageID Action="add" ID="0422:00000422" />
</gs:InputPreferences>
</gs:GlobalizationServices>
2. Поместить этот файлик в доступное место.
3. Привязать выполнение такой команды к входу в систему по окончании инсталляции (SetupComplete.cmd — см. предыдущий post):
control
intl.cpl,, /f:“[путь]имя_файла.xml”
4. Все.
Теперь вне зависимости от того, что выберет пользователь до момента его logon-а в систему будет выставлена Украинская и Английйская раскладка, причем, последняя дефолтной.