Registrierungstabelle
Die Registrierungstabelle enthält die Registrierungsinformationen, die die Anwendung in der Systemregistrierung festlegen muss.
Die Registrierungstabelle enthält die folgenden Spalten.
Spalte | Art | Schlüssel | Nullable |
---|---|---|---|
Registrierung | Bezeichner | Y | N |
Wurzel | ganze Zahl | N | N |
Schlüssel | RegPath- | N | N |
Name | formatierte | N | Y |
Wert | formatierte | N | Y |
Bestandteil_ | Bezeichner | N | N |
Spalten
-
Registrierung
-
Primärschlüssel, der zum Identifizieren eines Registrierungsdatensatzes verwendet wird.
-
Stamm
-
Der vordefinierte Stammschlüssel für den Registrierungswert. Geben Sie einen Wert von -1 in dieses Feld ein, um den Stammschlüssel abhängig vom Installationstyp zu machen. Geben Sie einen der anderen Werte in der folgenden Tabelle ein, um zu erzwingen, dass der Registrierungswert unter einem bestimmten Stammschlüssel geschrieben wird.
Konstante Hexadezimal Dezimal Stammschlüssel (keine) - 0x001 -1 Wenn es sich um eine Benutzerinstallation handelt, wird der Registrierungswert unter HKEY_CURRENT_USERgeschrieben. Wenn es sich um eine Installation pro Computer handelt, wird der Registrierungswert unter HKEY_LOCAL_MACHINEgeschrieben. Beachten Sie, dass eine Installation pro Computer angegeben wird, indem die ALLUSERS- eigenschaft auf 1 festgelegt wird. msidbRegistryRootClassesRoot- 0x000 0 HKEY_CLASSES_ROOTDas Installationsprogramm schreibt oder entfernt den Wert aus der HKCU\Software\Classes Struktur während der Installation im benutzerbasierten Installationskontext.
Das Installationsprogramm schreibt oder entfernt den Wert aus der HKLM\Software\Classes Struktur während Computerinstallationen.msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USERS Beachten Sie, dass Registrierungseinträge, die in die HKCU Struktur geschrieben wurden, auf eine Komponente verweisen, die den RegistryKeyPath-Bitsatz in der Spalte "Attribute" der Component-Tabellefestgelegt hat. Dadurch wird sichergestellt, dass das Installationsprogramm die erforderlichen Registrierungseinträge schreibt, wenn mehrere Benutzer auf demselben Computer vorhanden sind.
-
-Taste
-
Der lokalisierbare Schlüssel für den Registrierungswert.
-
Name
-
Diese Spalte enthält den Registrierungswertnamen (lokalisierbar). Wenn dies Null ist, werden die in die Spalte "Wert" eingegebenen Daten in den Standardregistrierungsschlüssel geschrieben.
Wenn die Spalte "Wert" null ist, haben die in der folgenden Tabelle in der Spalte "Name" angezeigten Zeichenfolgen besondere Bedeutung.
Schnur Bedeutung + Der Schlüssel ist zu erstellen, falls nicht vorhanden, wenn die Komponente installiert ist. - Der Schlüssel ist, wenn vorhanden, mit allen zugehörigen Werten und Unterschlüsseln gelöscht zu werden, wenn die Komponente deinstalliert wird. * Der Schlüssel ist zu erstellen, falls nicht vorhanden, wenn die Komponente installiert ist. Darüber hinaus wird der Schlüssel gelöscht, falls vorhanden, mit allen zugehörigen Werten und Unterschlüsseln, wenn die Komponente deinstalliert wird. Beachten Sie, dass die RemoveRegistry-Tabelle verwendet werden muss, wenn ein installierter Registrierungsschlüssel mit seinen Werten und Unterschlüsseln gelöscht werden soll, wenn die Komponente installiert ist.
-
wert
-
Diese Spalte ist der lokalisierbare Registrierungswert. Das Feld ist Formatiert. Wenn der Wert einem der folgenden Präfixe (z. B. #%Wert) zugeordnet ist, wird der Wert wie in der Tabelle beschrieben interpretiert. Beachten Sie, dass jedes Präfix mit einem Nummernzeichen (#) beginnt. Wenn der Wert mit zwei oder mehr aufeinander folgenden Nummernzeichen (#) beginnt, wird der erste #-Wert ignoriert und als Zeichenfolge gespeichert.
Präfix Bedeutung #x Der Wert wird interpretiert und als Hexadezimalwert (REG_BINARY) gespeichert. #% Der Wert wird interpretiert und als erweiterbare Zeichenfolge (REG_EXPAND_SZ) gespeichert. # Der Wert wird interpretiert und als ganze Zahl (REG_DWORD) gespeichert. - Wenn der Wert die Sequenz tilde [~] enthält, wird der Wert als nulltrennte Liste von Zeichenfolgen interpretiert (REG_MULTI_SZ). Wenn Sie beispielsweise eine Liste mit den drei Zeichenfolgen a, b und c angeben möchten, verwenden Sie "a[~]b[~]c".
- Die Sequenz [~] innerhalb des Werts trennt die einzelnen Zeichenfolgen und wird als Nullzeichen interpretiert und gespeichert.
- Wenn ein [~] vor der Zeichenfolgenliste steht, müssen die Zeichenfolgen an alle vorhandenen Registrierungswertzeichenfolgen angefügt werden. Wenn bereits eine Anfügezeichenfolge im Registrierungswert auftritt, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
- Wenn ein [~] am Ende der Zeichenfolgenliste folgt, müssen die Zeichenfolgen allen vorhandenen Registrierungswertzeichenfolgen vorangestellt werden. Wenn bereits eine vorstehende Zeichenfolge im Registrierungswert auftritt, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
- Wenn sich ein [~] sowohl am Anfang als auch am Ende oder am Anfang oder am Ende der Zeichenfolgenliste befindet, müssen die Zeichenfolgen vorhandene Registrierungswertzeichenfolgen ersetzen.
- Andernfalls wird der Wert als Zeichenfolge interpretiert und gespeichert (REG_SZ).
-
Component_
-
Externer Schlüssel in der ersten Spalte der tabelle Komponente verweisen auf die Komponente, die die Installation des Registrierungswerts steuert.
Bemerkungen
Die WriteRegistryValues und RemoveRegistryValues Aktionen in Sequenztabellen verarbeiten die Informationen in dieser Tabelle. Informationen zur Verwendung von Sequenztabellenfinden Sie unter Verwenden einer Sequenztabelle.
Die Registrierungsinformationen werden in die Systemregistrierung geschrieben, wenn die entsprechende Komponente ausgewählt wurde, die lokal installiert oder aus der Quelle ausgeführt werden soll.
Beachten Sie, dass das Installationsprogramm nach dem Entfernen des letzten Werts oder Unterschlüssels unter dem Schlüssel einen Registrierungsschlüssel entfernt. Um zu verhindern, dass ein leerer Registrierungsschlüssel beim Deinstallieren entfernt wird, schreiben Sie einen Dummywert unter dem Schlüssel, den Sie beibehalten und in der Spalte "Name" eingeben müssen. Wenn * sich in der Spalte "Name" befindet, wird der Schlüssel mit allen zugehörigen Werten und Unterschlüsseln gelöscht, wenn die Komponente entfernt wird.
Eine benutzerdefinierte Aktion kann zum Hinzufügen von Zeilen zur Registrierungstabelle während einer Installation, Deinstallation oder Reparaturtransaktion verwendet werden. Diese Zeilen bleiben in der Registrierungstabelle nicht erhalten, und die Informationen sind nur während der aktuellen Transaktion verfügbar. Die benutzerdefinierte Aktion muss daher in jeder Installation, Deinstallation oder Reparaturtransaktion ausgeführt werden, die die Informationen in diesen zusätzlichen Zeilen erfordert. Die benutzerdefinierte Aktion muss vor dem RemoveRegistryValues- und WriteRegistryValues- Aktionen in der Aktionssequenz erfolgen.
Informationen zum Sichern eines Registrierungsschlüssels finden Sie in der MsiLockPermissionsEx Table und LockPermissions Table.
Validierung