Tabulka registru
Tabulka Registr obsahuje informace registru, které aplikace potřebuje nastavit v systémovém registru.
Tabulka Registr obsahuje následující sloupce.
Sloupec | Typ | Klíč | Nullable |
---|---|---|---|
Registr | identifikátor | Y | N |
Kořen | celočíselná | N | N |
Klíč | RegPath | N | N |
Jméno | formátované | N | Y |
Hodnota | formátované | N | Y |
Komponenta_ | identifikátor | N | N |
Sloupce
-
registr
-
Primární klíč použitý k identifikaci záznamu registru.
-
kořen
-
Předdefinovaný kořenový klíč pro hodnotu registru. Do tohoto pole zadejte hodnotu -1, aby kořenový klíč závisel na typu instalace. Zadejte jednu z dalších hodnot v následující tabulce a vynuťte zápis hodnoty registru pod konkrétním kořenovým klíčem.
Konstanta Šestnáctkový Desetinný Kořenový klíč (žádný) - 0x001 -1 Pokud se jedná o instalaci pro jednotlivé uživatele, hodnota registru je zapsána v HKEY_CURRENT_USER. Pokud se jedná o instalaci na počítač, hodnota registru se zapíše do HKEY_LOCAL_MACHINE. Všimněte si, že instalace na počítač je určena nastavením ALLUSERS vlastnost 1. msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTInstalační program zapíše nebo odebere hodnotu z HKCU\Software\Classes hive během instalace v kontextu instalace pro jednotlivé uživatele .
Instalační program zapíše nebo odebere hodnotu z HKLM\Software\Classes hive během instalací na počítač.msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USERS Všimněte si, že je doporučeno, aby položky registru zapsané do HKCU hive odkazovat na komponentu s bitem RegistryKeyPath ve sloupci Atributy tabulky Komponenta. Tím zajistíte, že instalační program zapíše potřebné položky registru, pokud je na stejném počítači více uživatelů.
-
klíč
-
Lokalizovatelný klíč pro hodnotu registru.
-
název
-
Tento sloupec obsahuje název hodnoty registru (lokalizovatelné). Pokud se jedná o hodnotu Null, zapíšou se data zadaná do sloupce Hodnota do výchozího klíče registru.
Pokud je sloupec Hodnota null, pak řetězce uvedené v následující tabulce ve sloupci Name mají zvláštní význam.
Řetězec Význam + Klíč se vytvoří, pokud chybí, když je komponenta nainstalována. - Klíč se má odstranit, pokud je k dispozici, se všemi jeho hodnotami a podklíči, když je komponenta odinstalována. * Klíč se vytvoří, pokud chybí, když je komponenta nainstalována. Kromě toho je nutné klíč odstranit( pokud je k dispozici) se všemi jeho hodnotami a podklíči při odinstalaci komponenty. Mějte na paměti, že removeRegistry tabulka musí být použita, pokud má být odstraněn nainstalovaný klíč registru s jeho hodnotami a podklíči, když je komponenta nainstalována.
-
hodnota
-
Tento sloupec je lokalizovatelná hodnota registru. Pole je Formátované. Pokud je hodnota připojená k jedné z následujících předpon (tj. #%hodnota), je hodnota interpretována tak, jak je popsáno v tabulce. Všimněte si, že každá předpona začíná znaménkem čísla (#). Pokud hodnota začíná dvěma nebo více po sobě jdoucími znaky čísla (#), první # se ignoruje a hodnota se interpretuje a uloží jako řetězec.
Předpona Význam #x Hodnota se interpretuje a ukládá jako šestnáctková hodnota (REG_BINARY). #% Hodnota se interpretuje a ukládá jako rozbalitelný řetězec (REG_EXPAND_SZ). # Hodnota se interpretuje a ukládá jako celé číslo (REG_DWORD). - Pokud hodnota obsahuje sekvenci vlnovku [~], pak se hodnota interpretuje jako seznam řetězců oddělených hodnotou Null (REG_MULTI_SZ). Chcete-li například zadat seznam obsahující tři řetězce a, b a c, použijte "a[~]b[~]c".
- Sekvence [~] v rámci hodnoty odděluje jednotlivé řetězce a je interpretována a uložena jako znak Null.
- Pokud před seznamem řetězců předchází [~], budou řetězce připojeny k jakýmkoli existujícím řetězcům hodnot registru. Pokud se k přidávacímu řetězci již používá hodnota registru, původní výskyt řetězce se odebere.
- Pokud se [~] řídí koncem seznamu řetězců, mají se řetězce předcházet všem existujícím řetězcům hodnot registru. Pokud se již v hodnotě registru vyskytuje předpendingový řetězec, původní výskyt řetězce se odebere.
- Pokud je [~] na začátku i na konci nebo na začátku ani na konci seznamu řetězců, řetězce nahradí všechny existující řetězce hodnot registru.
- Jinak se hodnota interpretuje a ukládá jako řetězec (REG_SZ).
-
Component_
-
Externí klíč do prvního sloupce tabulky Komponenta odkazující na komponentu, která řídí instalaci hodnoty registru.
Poznámky
Akce WriteRegistryValues a RemoveRegistryValues v sekvenčních tabulkách zpracovat informace v této tabulce. Informace o použití sekvenčních tabuleknaleznete v tématu Použitísekvenční tabulky .
Informace o registru se zapisují do systémového registru, pokud byla vybrána odpovídající komponenta, aby byla nainstalována místně nebo spuštěna ze zdroje.
Všimněte si, že instalační program odebere klíč registru po odebrání poslední hodnoty nebo podklíče pod klíčem. Pokud chcete zabránit odebrání prázdného klíče registru při odinstalaci, napište fiktivní hodnotu pod klíč, který potřebujete zachovat, a zadejte + do sloupce Název. Pokud je * ve sloupci Name, klíč se odstraní se všemi jeho hodnotami a podklíči, když je komponenta odebrána.
Vlastní akci lze použít k přidání řádků do tabulky Registru během instalace, odinstalace nebo opravy transakce. Tyto řádky se neuchovávají v tabulce Registru a informace jsou k dispozici pouze během aktuální transakce. Vlastní akce se proto musí spouštět při každé instalaci, odinstalaci nebo opravě transakce, která vyžaduje informace v těchto dalších řádcích. Vlastní akce musí předcházet RemoveRegistryValues a WriteRegistryValues akce v pořadí akcí.
Informace o zabezpečení klíče registru naleznete v MsiLockPermissionsEx Table a LockPermissions Table.
Validace