Registertabell
Registertabellen innehåller registerinformationen som programmet måste ange i systemregistret.
Tabellen Registry innehåller följande kolumner.
Spalt | Typ | Nyckel | Nullbar |
---|---|---|---|
Register | identifierare | Y | N |
Rot | Heltal | N | N |
Nyckel | RegPath | N | N |
Namn | formaterad | N | Y |
Värde | formaterad | N | Y |
Komponent_ | identifierare | N | N |
Kolumner
-
registry
-
Primärnyckel som används för att identifiera en registerpost.
-
rot
-
Den fördefinierade rotnyckeln för registervärdet. Ange värdet -1 i det här fältet för att göra rotnyckeln beroende av typen av installation. Ange något av de andra värdena i följande tabell för att tvinga registervärdet att skrivas under en viss rotnyckel.
Konstant Hexadecimal Decimal Rotnyckel (ingen) - 0x001 -1 Om det här är en installation per användare skrivs registervärdet under HKEY_CURRENT_USER. Om det här är en installation per dator skrivs registervärdet under HKEY_LOCAL_MACHINE. Observera att en installation per dator anges genom att ange egenskapen ALLUSERS till 1. msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTInstallationsprogrammet skriver eller tar bort värdet från HKCU\Software\Classes hive under installationen i installationskontexten per användare .
Installationsprogrammet skriver eller tar bort värdet från HKLM\Software\Classes hive under installationer per dator.msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USERS Observera att registerposter som skrivits till HKCU hive refererar till en komponent som har RegistryKeyPath-biten inställd i kolumnen Attribut i tabellen Component. Detta säkerställer att installationsprogrammet skriver de nödvändiga registerposterna när det finns flera användare på samma dator.
-
nyckel
-
Den localizable nyckeln för registervärdet.
-
namn
-
Den här kolumnen innehåller registervärdenamnet (localizable). Om detta är Null skrivs de data som anges i kolumnen Värde till standardregisternyckeln.
Om kolumnen Värde är Null har de strängar som visas i följande tabell i kolumnen Namn särskild betydelse.
Sträng Betydelse + Nyckeln ska skapas, om den saknas, när komponenten är installerad. - Nyckeln ska tas bort, om den finns, med alla dess värden och undernycklar när komponenten avinstalleras. * Nyckeln ska skapas, om den saknas, när komponenten är installerad. Dessutom ska nyckeln tas bort, om den finns, med alla dess värden och undernycklar, när komponenten avinstalleras. Observera att tabellen RemoveRegistry måste användas om en installerad registernyckel ska tas bort, med dess värden och undernycklar, när komponenten installeras.
-
värde
-
Den här kolumnen är det lokaliserade registervärdet. Fältet är formaterat. Om värdet är kopplat till något av följande prefix (dvs. #%värde) tolkas värdet enligt beskrivningen i tabellen. Observera att varje prefix börjar med ett taltecken (#). Om värdet börjar med två eller flera på varandra följande taltecken (#) ignoreras det första # och värdet tolkas och lagras som en sträng.
Prefix Betydelse #x Värdet tolkas och lagras som ett hexadecimalt värde (REG_BINARY). #% Värdet tolkas och lagras som en expanderbar sträng (REG_EXPAND_SZ). # Värdet tolkas och lagras som ett heltal (REG_DWORD). - Om värdet innehåller sekvensen tilde [~], tolkas värdet som en Null-avgränsad lista med strängar (REG_MULTI_SZ). Om du till exempel vill ange en lista som innehåller de tre strängarna a, b och c använder du "a[~]b[~]c".
- Sekvensen [~] i värdet separerar de enskilda strängarna och tolkas och lagras som ett Null-tecken.
- Om en [~] föregår stränglistan ska strängarna läggas till i alla befintliga registervärdesträngar. Om en väntande sträng redan inträffar i registervärdet tas den ursprungliga förekomsten av strängen bort.
- Om en [~] följer slutet av stränglistan ska strängarna läggas till i eventuella befintliga registervärdesträngar. Om en väntande sträng redan inträffar i registervärdet tas den ursprungliga förekomsten av strängen bort.
- Om en [~] finns i både början och slutet eller i varken början eller slutet av stränglistan ersätter strängarna befintliga registervärdesträngar.
- Annars tolkas och lagras värdet som en sträng (REG_SZ).
-
Component_
-
Extern nyckel i den första kolumnen i tabellen Komponent refererar till komponenten som styr installationen av registervärdet.
Anmärkningar
Åtgärderna WriteRegistryValues och RemoveRegistryValues i sekvenstabeller bearbeta informationen i den här tabellen. Information om hur du använder sekvenstabellerfinns i Använda en sekvenstabell.
Registerinformationen skrivs ut till systemregistret när motsvarande komponent har valts att installeras lokalt eller köras från källan.
Observera att installationsprogrammet tar bort en registernyckel när du har tagit bort det sista värdet eller undernyckeln under nyckeln. Om du vill förhindra att en tom registernyckel tas bort när du avinstallerar skriver du ett dummy-värde under nyckeln som du behöver behålla och anger + i kolumnen Namn. Om * finns i kolumnen Namn tas nyckeln bort, med alla dess värden och undernycklar, när komponenten tas bort.
En anpassad åtgärd kan användas för att lägga till rader i registertabellen under en installation, avinstallation eller reparationstransaktion. Dessa rader finns inte kvar i registertabellen och informationen är endast tillgänglig under den aktuella transaktionen. Den anpassade åtgärden måste därför köras i varje installation, avinstallation eller reparationstransaktion som kräver informationen i dessa ytterligare rader. Den anpassade åtgärden måste komma före RemoveRegistryValues och WriteRegistryValues åtgärder i åtgärdssekvensen.
Information om hur du skyddar en registernyckel finns i tabellen MsiLockPermissionsEx och LockPermissions Table.
Validering