1. C:\ITnator
  2. Softwareverteilung

Matrix42 Empirum Registry Key - HowTo

Autor
Johannes Huber
Veröffentlicht
Aktualisiert
Lesezeit
3 Minuten
Comic: Admin am Fließband mit Softwarepaketen, zum Artikel: 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:

Code
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.

Code
[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.

Code
[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:

WurzelAbkürzung
HKEY_CLASSES_ROOTHKCR
HKEY_CURRENT_USERHKCU
HKEY_LOCAL_MACHINEHKLM
HKEY_USERSHKU
HKEY_CURRENT_CONFIGHKCC

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:

TypBezeichnungBedeutung
0x00000000REG_SZString, beziehungsweise Zeichenkette
0x00010000REG_MULTI_SZMehrere Strings, durch ein Kommata getrennt
0x00020000REG_EXPAND_SZString mit Umgebungsvariablen, die expandiert werden müssen
0x00000001REG_BINARYBinärwerte, durch ein Kommata getrennt
0x00010001REG_DWORD32-Bit Wert, der sowohl hexadezimal als auch dezimal angegeben werden kann
0x00040001REG_QWORD64-Bit Wert, der sowohl hexadezimal als auch dezimal angegeben werden kann
0x00020001REG_NONEBinärwerte ohne Typ, durch Kommata getrennt.
0x10000001REG_BINARY_SZBinärwerte, durch Kommata getrennt, jedoch als Zeichenkette gespeichert
0x00000010Leerer Schlüssel wird erstellt

Ich hoffe wir konnten auch das Thema mit den Empirum Registry Werten deutlich erklären. :-)

Johannes Huber

Administrator bei ITnator

Schreibt über Probleme aus der Administration von Servern, Clients und vielen weiteren IT-Komponenten.

7 Kommentare

Markus

Hallo, eine Anleitung wäre mal toll, wenn man nur Registry Keys ändern möchte. Ich weiß nicht, die ganze Doku über Empirum ist so nichtssagend und es wird so viel einfach nicht erklärt und auch alle howTos die es gibt, erklären meistens nur ein Viertel von dem, was man eigentlich bräuchte.

Alex

Hallo Markus, ich fühle mit dir.

Johannes

Das ist alles was ihr braucht: [Reg:Product] HKLM,"SOFTWAREJavaSoftJava UpdatePolicy","EnableJavaupdate",0x00000000,"0"

Werner

Wenn ich auf diese Art ([Reg:Product]) einen Wert mit einem User ohne Adminrechte unter HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies hinzufügen möchte funktioniert dies leider nicht.. Mache ich etwas falsch? Oder gibt es hier ein anderes Vorgehen?

Johannes

Hallo Werner. Meines Wissens ist es unrelevant, ob der User Adminrechte hat, oder nicht. Unter Current User kann auch ein User schreiben, selbst ohne Adminrechte. Versuche das gerne mal "händisch" in der Registry.

Nico

Wie überschreibt man einen Registry bei einer Deinstallation?

Johannes

Hallo Nico, leider verstehe ich nicht ganz was du meinst. Du kannst einen Reg-Key entweder komplett löschen (mit einem "Minus") oder überschreiben. Überschreiben kannst du, indem du einen neuen Key erstellst mit deinem gewünschten Inhalt. Gruß Johannes

Kommentar schreiben

Kommentare erscheinen nach unserer Prüfung. Gespeichert werden Name und Text, siehe Datenschutz.