Matrix42 Empirum Registry Key – HowTo
Das Erstellen, Bearbeiten und Löschen von Registry Keys ist mit einem Matrix42 Empirum Paket kein Problem. In der Setup.inf Datei ist sogar ein eigener Abschnitt namens [Reg:Product] dafür vorgesehen. Wie man mit Empirum Registry Einträgen am Besten vorgeht seht ihr in diesem Beitrag.
Mit Empirum Registry Keys anfassen
Bei der Softwareinstallation muss man neben der Installation der eigentlichen Software auch oft Registry Key´s anpassen, um gewisse Einstellungen zu setzten. Ein gutes Beispiel hierfür ist das deaktivieren von Automatischen Updates. Matrix42 hat in die Setup.inf Datei einen eigenen Abschnitt eingebaut, mit dem sich die Registry API anfassen lässt.
Das bedeutet, dass alle Empirum Registy Anpassungen in dem Abschnitt [Reg:Product] hinterlegt werden müssen.
Syntax
Die Syntax für einen Registry Key scheint auf den ersten Blick sehr kompliziert. Wenn man aber dahinter gestiegen ist, ist es jedoch sehr einfach. Der Grundaufbau sieht folgendermaßen aus:
HKLM,"Software\Hersteller\Produkt","Eigenschaft",0x00000000,"String"
- HKLM = Einstellungen in der local Machine
- “Software\Hersteller\Produkt” = Pfad
- “Eigenschaft” = Key der angefasst werden soll
- 0x00000000 = Bei Wert handelt es sich um einen String
- “String” = Wert der hinterlegt werden soll
Alle Abschnitte werden mit einem Komma getrennt. Doch es gibt natürlich Unterschiede, wenn man einen String oder ein D-WORD hinterlegen will. Hierzu mehr unter dem Abschnitt Parameter.
Key erstellen
Um mit Empirum einen Registry Key erstellen zu können, ist eigentlich nur eine einzige Zeile Notwendig. Wichtig ist hier allerdings, dass dies unter dem Abschnitt Reg:Product hinterlegt wird.
[Reg:Product] HKLM,"SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy","EnableJavaupdate",0x00000000,"0"
In diesem Beispiel wird das automatische Update bei Java deaktiviert.
Key bearbeiten
Um einen Registry Eintrag mit Empirum zu bearbeiten geht man genauso vor, wie beim Erstellen eines Keys. Hier wird dann der vorhandene Wert überschrieben. Hier gibt es also nichts spezielles zu beachten.
Key löschen
Das Löschen eines Keys funktioniert genauso, wie bei der Deinstallation von Software. Hier muss ein Minus-Zeichen vor den Befehl gesetzt werden. Abgearbeitet werden die Befehle übrigens bei einer Deinstallation von unten nach oben.
[Reg:Product] -HKLM,"SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy","EnableJavaupdate",0x00000000,"0"
In diesem Beispiel wird der Erzeugte Reg-Key vom Beispiel oben wieder gelöscht, beziehungsweise entfernt.
Empirum Registry Parameter
Wie in den Beispielen Oben wird ein Key in HKEY_LOCAL_MACHINE geschrieben. Das ist in den meisten Fällen so. Aber natürlich sind andere Bereiche auch kein Problem:
Wurzel | Abkürzung |
---|---|
HKEY_CLASSES_ROOT | HKCR |
HKEY_CURRENT_USER | HKCU |
HKEY_LOCAL_MACHINE | HKLM |
HKEY_USERS | HKU |
HKEY_CURRENT_CONFIG | HKCC |
Wenn man einen Eintrag in HKCU, also in Current User setzen möchte, so kann das natürlich erst passieren, wenn sich der Benutzer anmeldet. Das bedeutet, dass das Softwarepaket einen /AW Schalter für den Benutzerteil benötigt. Mehr dazu unter den Empirum Setup.inf Grundlagen.
Außerdem möchte man nicht nur wie im Beispiel D-WORD Registry Einträge setzten, sondern vielleicht auch Zeichenketten. Hier gibt es auch verschiedene Typen:
Typ | Bezeichnung | Bedeutung |
---|---|---|
0x00000000 | REG_SZ | String, beziehungsweise Zeichenkette |
0x00010000 | REG_MULTI_SZ | Mehrere Strings, durch ein Kommata getrennt |
0x00020000 | REG_EXPAND_SZ | String mit Umgebungsvariablen, die expandiert werden müssen |
0x00000001 | REG_BINARY | Binärwerte, durch ein Kommata getrennt |
0x00010001 | REG_DWORD | 32-Bit Wert, der sowohl hexadezimal als auch dezimal angegeben werden kann |
0x00040001 | REG_QWORD | 64-Bit Wert, der sowohl hexadezimal als auch dezimal angegeben werden kann |
0x00020001 | REG_NONE | Binärwerte ohne Typ, durch Kommata getrennt. |
0x10000001 | REG_BINARY_SZ | Binärwerte, durch Kommata getrennt, jedoch als Zeichenkette gespeichert |
0x00000010 | Leerer Schlüssel wird erstellt |
Ich hoffe wir konnten auch das Thema mit den Empirum Registry Werten deutlich erklären. 🙂