Möchte man mittels eines Empirum Paketes Änderungen in der Registry vornehmen, so ist dazu die vorhandene [Reg:Product] Sektion in der Setup.inf vorgesehen. Änderungen in der Windows Registrierung können auch über andere bzw. weitere Sektionen vorgenommen werden – sie müssen jedoch mit Reg: beginnen.
In einer Sektion die mit Reg: beginnt, dürfen jedoch auch nur Registry Veränderungen enthalten sein, da mittels dieser Sektion die Registry API angesprochen wird.
Wie erstellt man nun einen Registry Eintrag oder wie so häufig genannt – Reg Key?
- Aufzeichnung per Differenzanalyseverfahren (Diff)
- Erstellen der Einträge mittels des Package Editors
- Import von Reg Dateien mittels des Package Editors
- Erstellen der Registry Einträge von Hand
- Erstellen eines „Standard“eintrag
- Weitere Erläuterungen
- Benutzerteil
Aufzeichnung per Differenzanalyseverfahren (Diff)
Wenn man ein Paket per „Diff“ aufzeichnet, hat man die erstellten Registry Einträge auch direkt in der REG:Product und ggf. auch der Reg:OnUninstallProduct vorliegen. Hat man ein Paket mit dem MSI oder Unattended Verfahren erstellt, so kann man anschließend die weiteren Anpassungen per Diff festhalten.
Dazu startet man das installierte Programm, wechselt zu dem Menü oder ähnlich, wo man seine Änderung (z.B.: Automatische Updates, Speicherort der Einstellungen, etc.) vornehmen möchte, startet den PackageWizard, wählt die Option „Differenzanalyseverfahren“ und führt den „PreScan“ durch. Ist der „PreScan“ abgeschlossen, führt man die Veränderung, wie die Programmeinstellung durch. Hat man die Einstellungen im Programm abgeschlossen, folgt man den Schritten des PackageWizard Assistenten bis zum Ende. Falls sich die Programmeinstellungen in Registry Änderungen „niederschlagen“, so kann man die Zeilen aus der [REG:Product] Sektion der gerade erstellten Setup.inf in das vorhandene Paket zur Programminstallation übernehmen.
Erstellen der Einträge mittels des Package Editors
Der Empirum Package Editor unterstützt den Benutzer bei der Erstellung von Registry Einträgen in der „Normalen“ und in der „Erweiterten Ansicht“ auf seine Weise. In beiden Fällen muss man zuvor in „Alle Abschnitte“ die Sektion „Reg:Product“ unter „Options“ auswählen.
In der „Normalen Ansicht“ „klickt“ man sich den Eintrag zusammen, in der „Erweiterten Ansicht“ kann man die Unterstützung mittels der Tastenkombination STRG-Leertaste nutzen.
Import von Reg Dateien mittels des Package Editors
Liegt einem bereits eine *.reg Datei vor, so kann man diese mittels des Empirum Package Editors importieren. Wie das geht ist in der Empirum Hilfe beschrieben.
Erstellen der Registry Einträge von Hand
Die Syntax der Registry Änderungen in der Setup.inf sieht auf den ersten Blick „unerlernbar“ aus. Das ist es aber auf keinen Fall! Der Pfad trennt die Wurzel (HKLM, HKCU, etc.) nicht mit einem „\“ (Backslash), sondern mit einem „,“ (Komma). Die meisten Änderungen betreffen Registry Werte vom Typ REG_SZ oder REG_DWORD.
In der Setup.inf steht nicht der Typ in Form von REG_SZ oder REG_DWORD, sondern 0x00000000 bzw. 0x00010001. Hier eine kleine „Eselsbrücke“, wie ich die wichtigsten Änderungen von Hand vornehme.
REG_SZ entspricht 0x00000000 = „NULL X 8 mal die NULL“
REG_DWORD entspricht 0x00010001 = „NULL X, 3 mal NULL, EINS, 3 mal NULL, EINS“
[Reg:Product] HKLM,"Software\Hersteller\Produkt","Eigenschaft",0x00000000,"Zeichenkette" HKLM,"Software\Hersteller\Produkt","AutoUpdate",0x00010001,"0"
Hier geht es zur vollständigen Beschreibung.
Erstellen eines „Standard“eintrag
In der Registry gibt es auch die sogenannten (Standard) bzw. (Default) Werte. Diese werden wie folgt erstellt:
[Reg:Product] HKCR,"Software\Adobe\Acrobat\Exe",,0x00000000,'"%ProgramFiles%\Adobe\Reader 9.0\Reader\AcroRd32.exe"'
Weitere Erläuterungen
Wird die Reg: Sektion auch bei der Deinstallation aufgerufen, so wird die aufgeführte Änderung rückgängig gemacht, was zumeist bedeutet, dass der Eintrag gelöscht wird. Soll ein Eintrag bei der Deinstallation wieder auf den Wert vor der Installation „zurückgesetzt“ werden, so ist in der Setup.inf unter Reg:OnUninstallProduct der „vor der Installations Registry Wert“ einzutragen.
Soll ein Eintrag oder Baum auch bei der Installation gelöscht werden, so ist der Zeile ein „-“ voranzustellen. Hier ein Beispiel:
[Reg:Product] -HKLM,"Software\Hersteller\Produkt"
So kann man auch bei der Deinstallation die Registry bereinigen, indem man in der Reg:OnUninstallProduct Sektion ein „löschen“ mittels „-HKLM,…“ durchführt. Doch hier sollte man mit Vorsicht vorgehen, nicht „zuviel“ zu bereinigen!
Benutzerteil
Hat man eine Setup.inf mit „HKCU,…“ Einträgen, so besitzt dieses Paket einen sogenannten Benutzerteil. Damit der Benutzerteil ordnungsgemäß ausgeführt wird, muss die „Command Line Options =“ ein /AW aufweisen. Viel wichtiger ist jedoch, dass das /AW auch im SoftwareDepot, wo das Paket in die Empirum Management Console eingebunden ist unter den Paketeigenschaften, auf dem Register „Prüfung“, der „Befehl“ um ein „/AW“ erweitert wird. Näheres dazu ist wiederum hier zu finden.
Beim Versuch die Registry zu Importieren scheitere ich schon beim einfachen Rechtsklick unter Reg:Product laut der verlinkten Matrix Hilfe.
An was kann das liegen?
Hallo Arthur ;),
wichtig für den Import ist es, dass Du in der „Normalen Ansicht“ (unter Ansicht im Menü) bist.
Wenn Du dann in den Reg:Product Zweig wechselst, sollte es gehen.
Grüße
Jochen
ah perfekt. Danke!