Unattended Windows :: Pokročilý :: Registr

Registr

Úpravy registru jsou velmi populární, protože umožňují výrazně měnit chování systému. Zásahů, které zvyšují rychlost systému je mnoho a je tedy lepší mít po instalaci registry automaticky upravené, než tuto proceduru pokaždé provádět manuálně. Existuje několik metod jak toho dosáhnout:

Import .REG souborů
Pokud jste již s registrem pracovali, víte že se z něj data dají exportovat do textových souborů většinou s příponou .reg. Data z tohoto souboru se pak dají importovat zpět pomocí aplikace regedit.exe buď tak, že na soubor "aplikujete" dvojklik nebo pomocí příkazové řádky, kdy zavoláte regedit.exe a jako parametr použijete .reg soubor. Regedit ještě před importem zobrazí potvrzovací dialog. Toho se zbavíte tak že přidáte parametr /S.
REGEDIT /S <cesta>\tweak.reg
Kde <cesta> je cesta k danému souboru.

Nyní se zdá, že jen stačí vytvořit .reg soubor, který bude obsahovat všechny změny a během instalace bezobslužně zavolat regedit, ale situace je komplikovanější. Jednotlivé hives (kořenové klíče začínající na HKEY_*) je totiž nutné upravovat v různých fázích instalace.

HKEY_LOCAL_MACHINE (HKLM)
Pokud budete importovat do HKML dříve než po zalogování, může se stát, že se úpravy některých klíčů neprovedou (neověřeno), proto se doporučuje využít části [GUIRunOnce] v souboru WINNT.SIF.

HKEY_CURRENT_USER (HKCU)
Každý uživatelský účet má vlastní soubor, ve kterém jsou data pro HKCU. Změny které provedete v HKCU platí tedy pouze pro uživatele, který je v době úpravy zalogován. Pokud tedy nepracujte pod administrátorským účtem, je nutné importovat .reg po zalogování na váš účet.

Naopak, pokud chcete uplatnit změny pro všechny účty, které budou v budoucnu vytvořeny, musíte importovat změny v době kdy není vytvořen žádný účet a to ani základní administrátorský. Použijte tedy soubor cmdlines.txt, který se vykonává ve fázi T-12. Pokud upravujete HKCU v T-12, modifikuje se nastavení výchozího uživatelského účtu, od kterého "dědí" každý nově vytvořený účet.

HKEY_CLASSES_ROOT (HKCR)
Doporučuje se importovat spolu s HKLM.

HKEY_USERS (HKU)
Význam HKU je někdy mylně interpretován. HKU náleží všem uživatelům (účtům), kteří se alespoň jednou zalogovaly do systému. Nyní se podíváme na význam hlavních klíčů.

HKEY_USERS\.DEFAULT

Někteří uživatelé sem importují data, aby se úpravy projevily ve všech účtech. Nyní ale víte jak korektně importovat do HKCU.

HKEY_USERS\S-[skupina-čísel]

Počet těchto klíčů závisí na počtu účtů se kterýmu se uživatel alespoň jednou zalogoval. Skupina čísel za S- je unikátní a po každé instalaci může být jiná a to znemožňuje jejich automatizovanou změnu.

Změny v HKU se dají nahradit ekvivalentními změnami v HKCU.

Modifikace zdroje registru
Zdroje registru jsou INF soubory ve složce I386, které obsahují data, ze kterých se registr během instalace vytváří. Obecně neplatí, že by v jednom souboru musely být klíče jen pro určitý hive, ale ve většině případů tomu tak je. Následující tabulka ukazuje které hives reprezentují soubory *HIVE*.INF

HKLM HIVESYS.INF, HIVESFT.INF
HKR HIVEUSD.INF
HKCU HIVEDEF.INF, NLHIVE.INF
HKCR HIVECLS.INF

Pokud tedy chcete upravit registr a netrápit se tím, ve které fázi importovat data z .reg souboru, můžete upravovat přímo zdroj.