Registrierungstabelle

Die Registrierungstabelle enthält die Registrierungsinformationen, die die Anwendung in der Systemregistrierung festlegen muss.

Die Tabelle Registry enthält die folgenden Spalten.

Spalte Typ Schlüssel Nullwerte zulässig
Registrierung Identifier J N
Root Integer N N
Schlüssel RegPath N N
Name Formatiert N J
Wert Formatiert N J
Komponente_ Identifier N N

Spalten

Registrierung

Primärschlüssel, der zum Identifizieren eines Registrierungsdatensatzes verwendet wird.

Wurzel

Der vordefinierte Stammschlüssel für den Registrierungswert. Geben Sie in diesem Feld den Wert -1 ein, um den Stammschlüssel vom Installationstyp abhängig 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 Decimal Stammschlüssel
(none) - 0x001 -1 Wenn es sich um eine benutzerspezifische Installation handelt, wird der Registrierungswert unter HKEY _ CURRENT _ USER geschrieben. Wenn es sich um eine Computerinstallation handelt, wird der Registrierungswert unter HKEY _ LOCAL _ MACHINE geschrieben. Beachten Sie, dass eine Installation pro Computer durch Festlegen der ALLUSERS-Eigenschaft auf 1 angegeben wird.
msidbRegistryRootClassesRoot 0x000 0 HKEY _ CLASSES _ ROOT Das Installationsprogramm schreibt oder entfernt den Wert während der Installation im Benutzerinstallationskontextaus der HKCU-Softwareklassenstruktur. \ \
Das Installationsprogramm schreibt oder entfernt den Wert während der Computerinstallationen aus der \ HKLM-Softwareklassenstruktur. \
msidbRegistryRootCurrentUser 0x001 1 AKTUELLER _ _ HKEY-BENUTZER
msidbRegistryRootLocalMachine 0x002 2 HKEY _ LOCAL _ MACHINE
msidbRegistryRootUsers 0x003 3 _HKEY-BENUTZER

Beachten Sie, dass es empfohlen wird, in die HKCU-Struktur geschriebene Registrierungseinträge auf eine Komponente zu verweisen, für die das RegistryKeyPath-Bit in der Spalte Attribute der Tabelle Componentfestgelegt ist. Dadurch wird sichergestellt, dass das Installationsprogramm die erforderlichen Registrierungseinträge schreibt, wenn sich mehrere Benutzer auf demselben Computer befinden.

Schlüssel

Der lokalisierbare Schlüssel für den Registrierungswert.

Namen

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 Value-Spalte NULL ist, haben die in der folgenden Tabelle in der Spalte Name angezeigten Zeichenfolgen eine besondere Bedeutung.

String Bedeutung
+ Der Schlüssel muss erstellt werden, wenn er nicht vorhanden ist, wenn die Komponente installiert wird.
- Der Schlüssel muss bei der Deinstallation der Komponente ggf. mit allen werten und Unterschlüsseln gelöscht werden.
* Der Schlüssel muss erstellt werden, wenn er nicht vorhanden ist, wenn die Komponente installiert wird. Darüber hinaus muss der Schlüssel bei der Deinstallation der Komponente ggf. mit allen werten und Unterschlüsseln gelöscht werden.

Beachten Sie, dass die RemoveRegistry-Tabelle verwendet werden muss, wenn ein installierter Registrierungsschlüssel mit ihren Werten und Unterschlüsseln gelöscht werden soll, wenn die Komponente installiert wird.

Wert

Diese Spalte ist der lokalisierbare Registrierungswert. Das Feld ist formatiert. Wenn der Wert an eines der folgenden Präfixe (d. h. # % value) angefügt 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 das erste ignoriert, und der # Wert wird als Zeichenfolge interpretiert und gespeichert.

Präfix Bedeutung
#X Der Wert wird als Hexadezimalwert (REG BINARY) interpretiert und _ gespeichert.
#% Der Wert wird als erweiterbare Zeichenfolge interpretiert und gespeichert (REG _ EXPAND _ SZ).
# Der Wert wird als ganze Zahl (REG DWORD) interpretiert und _ gespeichert.
  • Wenn der Wert die Sequenzkachel [ ~ ] enthält, wird der Wert als durch NULL getrennte Liste von Zeichenfolgen interpretiert (REG _ MULTI _ SZ). Um beispielsweise eine Liste mit den drei Zeichenfolgen a, b und c anzugeben, verwenden Sie "a [ ~ ] b [ ~ ] c".
  • Die Sequenz [ ~ ] innerhalb des Werts trennt die einzelnen Zeichenfolgen und wird als NULL-Zeichen interpretiert und gespeichert.
  • Wenn ein [ ~ ] der Zeichenfolgenliste vorangestellt ist, müssen die Zeichenfolgen an alle vorhandenen Registrierungswertzeichenfolgen angefügt werden. Wenn bereits eine Anfügezeichenfolge im Registrierungswert vorhanden ist, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
  • Wenn ein [ ~ ] auf das Ende der Zeichenfolgenliste folgt, müssen die Zeichenfolgen allen vorhandenen Registrierungswertzeichenfolgen voranzugeht werden. Wenn bereits eine voranstehende Zeichenfolge im Registrierungswert auftritt, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
  • Wenn sich ein [ ~ ] sowohl am Anfang als auch am Ende oder weder am Anfang noch am Ende der Zeichenfolgenliste befindet, müssen die Zeichenfolgen alle vorhandenen Registrierungswertzeichenfolgen ersetzen.
  • Andernfalls wird der Wert als Zeichenfolge interpretiert und gespeichert (REG _ SZ).

Komponente_

Externer Schlüssel in der ersten Spalte der Component-Tabelle, der auf die Komponente verweist, die die Installation des Registrierungswerts steuert.

Hinweise

Die Aktionen WriteRegistryValues und RemoveRegistryValues in Sequenztabellen verarbeiten die Informationen in dieser Tabelle. Informationen zur Verwendung von Sequenztabellen finden Sie unter Verwenden einer Sequenztabelle.

Die Registrierungsinformationen werden in die Systemregistrierung geschrieben, wenn die entsprechende Komponente ausgewählt wurde, lokal installiert oder von der Quelle ausgeführt zu werden.

Beachten Sie, dass das Installationsprogramm einen Registrierungsschlüssel entfernt, nachdem der letzte Wert oder Unterschlüssel unter dem Schlüssel entfernt wurde. Um zu verhindern, dass ein leerer Registrierungsschlüssel bei der Deinstallation entfernt wird, schreiben Sie einen Dummywert unter den Schlüssel, den Sie beibehalten müssen, und geben Sie + in die Spalte Name ein. Wenn * sich in der Spalte Name befindet, wird der Schlüssel mit allen Werten und Unterschlüsseln gelöscht, wenn die Komponente entfernt wird.

Eine benutzerdefinierte Aktion kann verwendet werden, um der Registrierungstabelle während einer Installation, Deinstallation oder Reparaturtransaktion Zeilen hinzuzufügen. Diese Zeilen bleiben nicht in der Registrierungstabelle 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 den Aktionen RemoveRegistryValues und WriteRegistryValues in der Aktionssequenz erfolgen.

Informationen zum Sichern eines Registrierungsschlüssels finden Sie in der MsiLockPermissionsEx-Tabelle und der LockPermissions-Tabelle.

Validierung

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