Имя пользователя:
Пароль:
 

Показать сообщение отдельно

(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


Из готовой, но не опубликованной статьи для сайта автоматической установки виндовс.

==========
О ветвях реестра и способах импортирования ключей

Читая сообщения в конференциях 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.

Надеюсь этот небольшой экскурс в реестр будет вам полезен.
============

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 00:00, 10-04-2005 | #12