Registrierungstabelle

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

Die Registrierungstabelle verfügt über 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
Component_ Identifier N N

 

Spalten

Registrierung

Primärschlüssel, der verwendet wird, um einen Registrierungsdatensatz zu identifizieren.

Wurzel

Der vordefinierte Stammschlüssel für den Registrierungswert. Geben Sie einen Wert von -1 in diesem Feld ein, um den Stammschlüssel abhängig vom Installationstyp zu machen. Geben Sie einen der anderen Werte in der folgenden Tabelle ein, um den Registrierungswert zu erzwingen, der unter einem bestimmten Stammschlüssel geschrieben werden soll.

Konstant Hexadezimal Decimal Stammschlüssel
(none) - 0x001 -1 Wenn dies eine Benutzerinstallation ist, wird der Registrierungswert unter HKEY_CURRENT_USER geschrieben. Wenn dies eine Computerinstallation ist, wird der Registrierungswert unter HKEY_LOCAL_MACHINE geschrieben. Beachten Sie, dass eine Pro-Computer-Installation angegeben wird, indem Sie die ALLUSERS-Eigenschaft auf 1 festlegen.
msidbRegistryRootClassesRootClassesRoot 0x000 0 HKEY_CLASSES_ROOT Das Installationsprogramm schreibt oder entfernt den Wert aus der HKCU\Software\Classes-Struktur während der Installation im Benutzerinstallationskontext.
Das Installationsprogramm schreibt oder entfernt den Wert aus der HKLM\Software\Classes-Struktur während der 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 das Bit "RegistryKeyPath" in der Spalte "Attribute" der Komponente festgelegt hat. Dadurch wird sichergestellt, dass das Installationsprogramm die erforderlichen Registrierungseinträge schreibt, wenn mehrere Benutzer auf demselben Computer vorhanden sind.

Schlüssel

Der lokalisierbare Schlüssel für den Registrierungswert.

Namen

Diese Spalte enthält den Registrierungswertnamen (localizable). 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.

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

 

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

Wert

Diese Spalte ist der lokalisierbare Registrierungswert. Das Feld ist formatiert. Wenn der Wert einem der folgenden Präfixe (d. h. #%value) angefügt wird, wird der Wert wie in der Tabelle beschrieben interpretiert. Beachten Sie, dass jedes Präfix mit einem Zahlenzeichen (#) beginnt. Wenn der Wert mit zwei oder mehr aufeinanderfolgenden Zahlenzeichen (#) beginnt, wird der erste #ignoriert und wert wird als Zeichenfolge interpretiert und 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 nulldelimitierte Liste von Zeichenfolgen (REG_MULTI_SZ) interpretiert. 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 eine [~] der Zeichenfolgenliste vorangeht, müssen die Zeichenfolgen an alle vorhandenen Registrierungswertzeichenfolgen angefügt werden. Wenn eine anfügende Zeichenfolge bereits im Registrierungswert auftritt, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
  • Wenn ein [~] das Ende der Zeichenfolgenliste folgt, müssen die Zeichenfolgen an alle vorhandenen Registrierungswertzeichenfolgen vorgestellt werden. Wenn bereits eine vorstehende Zeichenfolge im Registrierungswert auftritt, wird das ursprüngliche Vorkommen der Zeichenfolge entfernt.
  • Wenn ein [~] sowohl am Anfang als auch am Ende oder weder am Anfang noch am Ende der Zeichenfolgenliste liegt, müssen die Zeichenfolgen vorhandene Registrierungswertzeichenfolgen ersetzen.
  • Andernfalls wird der Wert interpretiert und als Zeichenfolge (REG_SZ) gespeichert.

Component_

Externer Schlüssel in der ersten Spalte der Komponententabelle verweist auf die Komponente, 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, 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 beim Deinstallieren ein leerer Registrierungsschlüssel entfernt wird, schreiben Sie einen Dummywert unter dem Schlüssel, den Sie beibehalten und in die Spalte "Name" eingeben müssen. 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 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 den Aktionen RemoveRegistryValues und WriteRegistryValues in der Aktionssequenz erfolgen.

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

Überprüfen

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