Windows Registrierungsdateien

Inhalt

Allgemeines
Unterdrücken der Hinweismeldungen beim Importieren
Aufbau einer Registrierungsdatei
Registrierungsdateien erstellen und bearbeiten
Unterschlüssel oder Werte hinzufügen, Werte ändern
Schlüssel oder Werte löschen
Schlüssel oder Werte umbenennen

Dieses Dokument beschreibt den Aufbau von Registrierungsdateien (.reg-Dateien) und wie sie verwendet werden, um die Windows Registry zu ändern.

Allgemeines

Regedit.exe verwendet Registrierungsdateien (.reg-Dateien), um Schlüssel und Werte in die Windows Registry zu importieren oder zu exportieren. Wenn eine Registrierungsdatei importiert wird, wird der Inhalt in die Windows Registry des lokalen Computers übernommen. Der Import kann unter anderem mit einem Doppelklick auf die Datei oder über "Zusammenführen" im Explorer-Kontextmenü erfolgen.

Unterdrücken der Hinweismeldungen beim Importieren

In einem Script kann es sinnvoll sein, wenn die Hinweismeldungen beim Importieren von Registrierungsdateien nicht angezeigt werden. Mit dem Befehlszeilenparameter "/s" können alle Hinweismeldungen deaktiviert werden. Zum Ändern der Registry benötigt das Script Administratorrechte.

regedit.exe /s Pfad\Dateiname.reg

Aufbau einer Registrierungsdatei

RegistryEditorVersion

[Pfad\Schlüssel1]
"Name1"="Wert"
"Name2"="Datentyp:Wert"

[Pfad\Schlüssel2]
@="Standardwert"
"Name3"="Datentyp:Wert"

In der ersten Zeile wird entweder "Windows Registry Editor Version 5.00" für Windows 2000 und höher oder "REGEDIT4" für Windows 98 und Windows NT 4.0 angegeben. Der "REGEDIT4"-Header wird auch von neueren Windows-Versionen unterstützt.

Vor jedem Schlüssel oder Unterschlüssel sollten Leerzeilen eingefügt werden, um die Datei übersichtlicher und leichter lesbar zu machen.

Der Pfad des Schlüssels muss in eckigen Klammern angegeben werden. Als Trennzeichen für die einzelnen Schlüssel des Pfades wird ein Backslash (\) verwendet. Zum Beispiel:

[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shellex\ContextMenuHandlers]

In einer Registrierungsdatei können mehrere Registrierungspfade angegeben werden. Wenn der unterste Schlüssel in der Pfad-Hierarchie nicht in der Registry enthalten ist, wird dieser neu erstellt. Der Inhalt der Registrierungsdatei wird in der Reihenfolge in die Registry eingetragen, in der sie angegeben wurden. Wenn ein Unterschlüssel in einem anderen Unterschlüssel erstellt werden soll, muss diese in der richtigen Reihenfolge angegeben werden.

[HKEY_CURRENT_USER\SOFTWARE\Unterschlüssel1]

[HKEY_CURRENT_USER\SOFTWARE\Unterschlüssel1\Unterschlüssel2]

Am Beginn einer zu importierenden Wertangabe steht der Name des Werts. Dieser ist in doppelte Anführungszeichen zu setzen. Existiert ein Wert in der Registry noch nicht, wird dieser automatisch erstellt. Existiert der Wert bereits, wird der bisherige Wert überschrieben. Soll der Standardwert des Schlüssels festgelegt werden, muss als Wertname ein @-Zeichen angegeben werden. Direkt im Anschluss an den Wertnamen folgt ein Gleichzeichen (=).

Nach dem Gleichzeichen folgt der Wert. Enthält der Wert eine normale Zeichenfolge (REG_SZ), wird dieser in doppelte Anführungszeichen gesetzt. Der Datentyp wird nicht zusätzlich angegeben. Bei einem anderen Datentyp muss dieser dem eigentlichen Wert, getrennt mit einem Doppelpunkt, vorangestellt werden.

Datentyp in der RegistrierungsdateiDatentyp der Windows APIBeschreibung
hexREG_BINARYBinärdaten (identisch mit hex(3))
dwordREG_DWORDVorzeichenlose 32-Bit-Ganzzahl als Little-Endian (identisch mit hex(4))
hex(0)REG_NONEKein Datentyp
hex(1)REG_SZNull-terminierte UTF-16LE-Zeichenkette
hex(2)REG_EXPAND_SZNull-terminierte UTF-16LE-Zeichenkette, welche Umgebungsvariablen enthalten kann.
hex(3)REG_BINARYBinärdaten
hex(4)REG_DWORD_LITTLE_ENDIANVorzeichenlose 32-Bit-Ganzzahl als Little-Endian
hex(5)REG_DWORD_BIG_ENDIANVorzeichenlose 32-Bit-Ganzzahl als Big-Endian
hex(6)REG_LINK
hex(7)REG_MULTI_SZMehrere nicht leere Null-terminierte UTF-16LE-Zeichenketten, terminiert mit einem zusätzlichen Null-Zeichen.
hex(8)REG_RESOURCE_LIST
hex(9)REG_FULL_RESOURCE_DESCRIPTOR
hex(a)REG_RESOURCE_REQUIREMENTS_LIST
hex(b)REG_QWORD_LITTLE_ENDIAN8 Bytes als Hexadezimalwerte, welche eine 64-Bit-Ganzzahl als Little-Endian repräsentieren.

Für Binärwerte und Quad-Word-Werte muss der Wert in hexadezimaler Schreibweise angegeben werden. Die einzelnen Bytes werden mit einem Beistrich getrennt. Lange Werte können in mehrere Zeilen aufgeteilt werden. Dazu muss am Ende der Zeile ein Backslash angegeben werden. Die nächste Zeile wird mit 2 Leerzeichen eingerückt.

Beispiele für unterschiedliche Datentypen
@="Standardwert"
"Binärwert"=hex:00,01,02,03,04,05,06,07
"Text"="Wert1"
"DWord-Zahl"=dword:0000007b
"QWord-Zahl"=hex(b):d2,02,96,49,00,00,00,00
"Text-Expand"=hex(2):54,00,65,00,73,00,74,00,2d,00,54,00,65,00,78,00,74,\
  00,00,00
"Text-Multi"=hex(7):54,00,65,00,73,00,74,00,00,00,54,00,65,00,78,00,74,\
  00,00,00,00,00

Eine Registrierungsdatei sollte am Ende eine Leerzeile enthalten.

Auch wenn unter Windows 10 einige dieser Vorgaben nicht zwingend notwendig sind, sollten sie aus Gründen der Kompatibilität dennoch beachtet werden. Dies betrifft z.B. die Notwendigkeit der Leerzeilen und das Angeben aller Schlüssel in der Hierarchie der zu erstellenden Unterschlüssel.

Gefällt dir meine Webseite, meine Freeware-Programme oder Online-Tools?

Dann spende bitte per PayPal und hilf mit, den Inhalt weiterhin kostenlos anbieten zu können - jeder Betrag ist willkommen!

Lese mehr über Unterstützungs­möglichkeiten...

Registrierungsdateien erstellen und bearbeiten

Vor einer Änderung in der Windows Registry sollte zumindest der betreffende Schlüssel exportiert werden, um den ursprünglichen Zustand wieder herstellen zu können. Dies geschieht über das Hauptmenü "Datei" / "Exportieren" oder über das Kontextmenü des Schlüssels. Verursachen die Änderungen Probleme, kann die Sicherung wieder in die Registry importiert werden.

Unterschlüssel oder Werte hinzufügen, Werte ändern

Die einfachste Möglichkeit ist, die betreffenden Änderungen im Registrierungs-Editor vorzunehmen. Anschließend kann der betreffende Schlüssel in eine Registrierungsdatei exportiert werden. Unnötige Schlüssel oder Werte können mit einem Texteditor aus der Registrierungsdatei entfernt werden.

Schlüssel oder Werte löschen

Um einen Schlüssel zu löschen, muss vor dem Pfad ein Minus-Zeichen (-) gesetzt werden. Um einen Wert zu löschen, muss nach dem Gleichzeichen ein Minus (-) gesetzt werden.

Das folgende Beispiel löscht den Schlüssel "HKEY_LOCAL_MACHINE\Software\MyOldApplication" und den Wert "Version" aus dem Schlüssel "HKEY_LOCAL_MACHINE\Software\MyOldApplication".

[-HKEY_LOCAL_MACHINE\Software\MyOldApplication]

[HKEY_LOCAL_MACHINE\Software\MyApplication]
"Version"=-

Wie auch beim Ändern von Werten kann der betreffende Schlüssel vorher exportiert werden. Mit einem Texteditor kann dann das Minus-Zeichen einfach eingefügt werden.

Schlüssel oder Werte umbenennen

Es gibt keine direkte Möglichkeit zum Umbenennen von Schlüsseln und Werten.

Durch das Exportieren der bisherigen Schlüssel und Werte können diese gesichert werden. Mit einem Texteditor werden die betreffenden Schlüssel und Werte kopiert, vor den gesicherten Daten eingefügt und mit einem Minus versehen, um diese zu löschen. Anschließend werden die Namen der Schlüssel und Werte im unteren Teil umbenannt.

Beispiel:
[HKEY_CURRENT_USER\SOFTWARE\TEST]
"Test"="123"

[HKEY_CURRENT_USER\SOFTWARE\MyApplication]
"Version"="1"
"Year"="2022"
Der Schlüssel "TEST" soll in "TestApplication" und der Wert "Year" im Schlüssel "MyApplication" in "RegYear" geändert werden. Nach dem Bearbeiten der Registrierungsdatei sieht diese so aus:

[-HKEY_CURRENT_USER\SOFTWARE\TEST]

[HKEY_CURRENT_USER\SOFTWARE\TestApplication]
"Test"="123"

[HKEY_CURRENT_USER\SOFTWARE\MyApplication]
"Year"=-

[HKEY_CURRENT_USER\SOFTWARE\MyApplication]
"RegYear"="2022"

Der Schlüssel "TEST" wird gelöscht und der Schlüssel "TestApplication" mit dem selben Inhalt wird erstellt. Im Schlüssel "MyApplication" wird der Wert "Year" gelöscht und danach mit dem Namen "RegYear" neu erstellt.

Gefällt dir meine Webseite, meine Freeware-Programme oder Online-Tools?

Dann spende bitte per PayPal und hilf mit, den Inhalt weiterhin kostenlos anbieten zu können - jeder Betrag ist willkommen!

Lese mehr über Unterstützungs­möglichkeiten...




Diese Webseite verwendet Cookies und verarbeitet Daten. Informationen zur Datenverarbeitung sowie zur Möglichkeit, diese abzulehnen, finden Sie in der Datenschutzerklärung. Ok