Из готовой, но не опубликованной статьи для сайта автоматической установки виндовс.
==========
О ветвях реестра и способах импортирования ключей
Читая сообщения в конференциях MSFN и OSZone, я пришел к выводу, что некоторые участники неверно интерпертируют назначение ветвей реестра. Думаю, что не помешает небольшое разъяснение. Я не буду вдаваться в подробности, а лишь обрисую основы применительно к автоматической установке системы. Для общего образования я рекомендую ознакомиться со статьей MS KB Описание реестра Microsoft Windows
http://support.microsoft.com/kb/256986/ru . Теперь конкретнее о ветвях.
HKEY_LOCAL_MACHINE (HKLM)
Название само по себе информативно: ключи локальной машины. Изменения, которые вы вносите в эту ветку, применяются ко всем учетным записям. Tаким образом, отключив какую-нибудь службу, вы делаете ее недоступной для всех пользователей. Во время автоматической установки Windows лучше всего импортировать HKLM ключи при первом входе в систему, после загрузки оболочки. "Ага!", скажете вы, "Значит можно и раньше?" Можно (об этом ниже), но не нужно. Некоторые HKLM ключи не срабатывают на более раннем этапе.
Типичным способом импортирования ключей является пакетный файл, запускаемый из [GuiRunOnce]. Файл содержит такую команду
ECHO.
ECHO Applying Registry Tweaks...
REGEDIT /S %systemdrive%\install\hklm.reg
HKEY_CURRENT_USER (HKCU)
Опять же, название говорит само за себя: ключи текущего пользователя. В принципе, изменения, которые вы вносите в эту ветку, применяются только к учетной записи, из-под которой делаются изменения. Безусловно, HKCU ключи можно импортировать при первом входе в систему. Если вы работаете из-под встроенной учетной записи Администратор, так, наверное, и следует делать. Я, однако, предпочитаю работать из-под другой учетной записи с правами администратора, оставляя встроенного Администратора на всякий случай нетронутым. Если во время автоустановки первым вход в систему осуществит Администратор, то к его учетной записи все HKCU твики и применятся, а остальные учетные записи останутся ненастроенными.
К счастью, для тех, кто работает более чем с одной учетной записью есть обходной путь. Во время автоматической установки вы можете импортировать ключи на этапе, когда ни один из пользователей еще не вошел в систему. Делается это из файла cmdlines.txt. Такой способ особенно полезен тем, что HKCU ключи фактически импортируются в настройки пользователя по умолчанию (Default User), чья ветвь реестра подключается вместо HKCU во время автоматической установки Windows. Таким образом, все ключи, импортированные в HKCU применяются ко всем учетным записям создаваемым впоследствии. Теперь понятно, почему у меня два раздельных файла твиков реестра для HKLM и HKCU? Сколько бы я пользователей не создавал впоследствии, у всех у них интерфейс уже будет максимально настроен (в соответствии с моими предпочтениями
Для импортирования HKCU ключей из cmdlines.txt достаточно разместить файл hkcu.reg в корне директории $ОEМ$ и добавить в cmdlines.txt следующие строки:
[Commands]
"REGEDIT /S hkcu.reg"
HKEY_CLASSES_ROOT (HKCR)
Я не буду дублировать весьма подробное описание этой ветви реестра, данное в статье МS KB. Ознакомьтесь с ним самостоятельно. Я его интерпретирую следующим образом. Если вы хотите, чтобы изменения затронули всех пользователей (включая будущих), то либо импортируйте HKCR ключи вместе с HKCU из cmdlines.txt, либо импортируйте ключи в раздел HKEY_LOCAL_MACHINE\Software\Classes при первом входе в систему.
HKEY_USERS (HKU)
Назначение этого ключа нередко интерпретируется неправильно. Видимо то, что он относится ко всем пользователям когда-либо входившим в систему, и является причиной путаницы. Разберем его составляющие чуть подробнее.
HKEY_USERS\.DEFAULT
Я обратил внимание, что участники конференций MSFN и OSZone пытаются использовать этот ключ для импортирования HKCU твиков, рассчитывая применить их ко всем пользователям. Не исключаю, что в некоторых случаях это сработает. Однако, вы уже знаете как это сделать правильнее и надежнее. Более того, HKEY_USERS\.DEFAULT скорее относится к настройкам, регулирующим процессы до входа пользователя в систему (например, раскладка клавиатуры по умолчанию).
HKEY_USERS\S-[длинный-набор-цифр]
Таких ключей может быть несколько. Это зависит от количества пользователей, когда-либо входивших в систему. Если вы попробуете отследить установку какого-нибудь приложения с помощью программ, мониторящих изменения в реестре, то вероятно увидите, что как раз в один из этих ключей вносятся изменения. Это и есть ваш профиль. С практической точки зрения этот ключ неинтересен, т.к. длинный набор цифр уникален для каждой системы, и в новой системе он будет уже другим. Фактически, такие изменения равносильны изменениям в HKCU.
Надеюсь этот небольшой экскурс в реестр будет вам полезен.
============