Sdílet prostřednictvím


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

ICE02
ICE03
ICE06
ICE32
ICE38
ICE43
ICE46
ICE49
ICE53
ICE55
ICE57
ICE70
ICE80