Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Registry-Einträge


5 replies to this topic

Michi

Michi
  • Members
  • 7 posts

Posted 11 March 2004 - 10:37

Hallo an alle zusammen.

Ich hab ein Problem mit dem erfassen und übergeben eines Pfades aus der Registry. unsure.gif

Aus einem defnierten Schlüssel z.B. HKEY_LOCAL_MACHINE\Software\Test
mit Name InstallDir den Wert (Bsp. "C:\Programme\Versuch\MyProgram") ermitteln.
An diesen ermittelten Wert soll dann noch zusätzlich eine Erweiterung z.B. \UserData\Einstellungen angehängt werden.

Dieser komplette Pfad soll dann noch als DirProberty von "IniFile" übergeben werden.

Ich hoffe ihr könnt mir helfen smile.gif

Gruß

Michi

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 March 2004 - 14:17

Über die Systemsuche kannst du den Registr-Eintrag auslesen und in einem Property speichern, z.B. DIRFROMREG. Ich unterstelle jetzt mal, dass der Pfad in der registry mit einem Backslash endet, wie bei MSI üblich.

Dann erstellst du eine Custom Action vom Typ "Pfad setzen" mit der du den neuen Pfad zusammen baust und dann das DirProperty setzt (DirProperty muss also in der Directory Tabelle vorkommen, also z.B. als Zielverzeichnis einer Komponente)


Michi

Michi
  • Members
  • 7 posts

Posted 12 March 2004 - 08:13

Hallo Steffan,

vorab schon mal vielen Dank für deine Antwort.
Ich muß aber leider zur meiner Schande gestehen ich bin absoluter Anfänger. unsure.gif

Meine Vorgehenweise.

1. Eigenschaften-Manager:
Name: DIRFROMREG; Wert: 0

2. System durchsuchen:
Suchen nach InstallDir
Suchen in HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram
Speichern in DIRFROMREG

3. Direct Editor/Directory:
Directory: CompletePath
Directory_Parent: TARGETDIR
DefaultDir: .
ISAttributes: 0

Und jetzt mein Problem!!!!!

4. Direct Editor/CostumAction
Was genau muß ich dort alles angeben damit ich den vollständigen Pfad (CompletePath) zur Verfügung habe und ihn dann weiter verwenden kann für die DirProberty von Direct Editor/IniFile?
Möchte dort zum Pfad (DIRFROMREG(übrigens ohne "\")) noch den Pfad "\System\Einstellungen" anfügen.


Gruß

Michi


Michi

Michi
  • Members
  • 7 posts

Posted 12 March 2004 - 10:00

Hallo Stefan,

ich muss dich nochmal belästigen.
Warum ist, wenn ich den MSI-Debugger starte und bis zum Schluß abarbeite, der Wert der Eigenschaft "DIRFROMREG" immer 0 ?
Muss ich den beim System durchsuchen noch etwas beachten?

Gruß

Michael

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 March 2004 - 15:18

Du solltest die Custom Action nicht im Direct Editor anlegen, sondern in der Custom Action Ansicht in der IDE: Das ist viel einfacher

Wenn der Proeprty-Wert 0 bleibt, dann wurde der Eintrag nicht gefunden. Wenn du als Format "Pfad" gewählt hast (und nicht "sonstige") dann MUSS der String in der Regsity mit einem Backslash enden.

Ausserdem solltest du das Proprty nicht im Property Manager anlegen. Es wird von der Systemsuche automatisch zur Laufzeit erzeugt, wenn der Reistry-Wert gefunden wurde.

Michi

Michi
  • Members
  • 7 posts

Posted 15 March 2004 - 12:49

Hallo Stefan,

vielen Dank nochmal.

Hab den Fehler für den NULL-String entdeckt.
Bei der Abfrage hatte sich durch das Kopieren des Schlüssels aus der Registry
zweimal HKEY_LOCAL_MACHINE hineingeschmuggelt.

Gruß

Michi