AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme kann man umgebungsvariablen in der registry benutzen?
Thema durchsuchen
Ansicht
Themen-Optionen

kann man umgebungsvariablen in der registry benutzen?

Ein Thema von messie · begonnen am 17. Apr 2007 · letzter Beitrag vom 19. Apr 2007
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 14:54
Hallo,

ich kämpfe gerade mit einer alten 16bit-Installationsroutine aus VB4. Da gibt es allerhand alte Datenbank- und OLE-Treiber zu registrieren. Installshield wehrt sich gegen die Registrierung von 16bit-Dateien. Mergemodule in 16 bit habe ich nicht gefunden, vielleicht aus demselben Grund.
Ich habe die reg-Einträge einer funktionierenden Installation exportiert und schreibe die Schlüssel nun direkt via Installshield.
Mein Problem: in der exportierten reg sind die Pfadangaben fest (z.B. C:\\WINDOWS\\SYSTEM\\DAO2516.DLL). Also funzt es nicht, wenn Windows nicht auf c: installiert ist.
Kann man in der registry mit einer Variablen für das System16-Verzeichnis arbeiten, mit der ich in der exportierten Datei den festen Pfad ersetzen kann?
Ich hab' mit der registry ebenso wie mit der Registrierung wenig Erfahrung

Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 15:27
Du müsstest halt in der Reg-datei die Pfade bei der Installation ersetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#3

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 15:30
Zitat von mkinzler:
Du müsstest halt in der Reg-datei die Pfade bei der Installation ersetzen.
Ja, nur wie, ohne daß es einen Eingriff des Benutzers geben muss?
Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 15:34
Ich würde ein kleines Programm schreiben, welches die festen Pfade in der Datei durch den Pfad aus der Umgebung ersetzt und dann die Datei ausführt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 15:35
du kannst bei Installshield doch auch ein Programm angeben welches ausgeführt werden soll. Da kannst du eifnach ein selbst geschriebenes Programm hinn packen. Mit Platzhaltern (Umgebungsvariablen) glaub ich nicht das es funktioniert.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.270 Beiträge
 
Delphi 12 Athens
 
#6

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 17. Apr 2007, 15:40
Du verwendest bestimmt REG_SZ als DatenTyp?

REG_EXPAND_SZ ist dafür aber vorgesehn ... dort erweitert die WinAPI-Funktion (also Alles, da es im Normalfall darüber läuft) zum Auslesen des Strings auch gleich mit die darin enthaltenen Umgebungsvariablen.


[add]
Das Auslesen bleibt gleich, nur eim Erstellen des Strings mußt du den passenden Typen verwenden/angeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#7

Re: kann man umgebungsvariablen in der registry benutzen?

  Alt 19. Apr 2007, 15:02
Zitat von himitsu:
Das Auslesen bleibt gleich, nur eim Erstellen des Strings mußt du den passenden Typen verwenden/angeben.
Da ich den String schon als exportierte Registrydaten hatte, konnt ich das nicht festlegen. Ich habe nach einiger Recherche aber herausgefunden, daß der registry-Import den Typen anhand der Formatierung der registry-StringDaten festlegt.
Aus
Zitat:
[HKEY_CLASSES_ROOT\CLSID\{00025e8b-0000-0000-c000-000000000046}\InprocServer]
@="%SystemRoot%\\SYSTEM\\DAO2516.dll"
habe ich
Zitat:
[HKEY_CLASSES_ROOT\CLSID\{00025e8b-0000-0000-c000-000000000046}\InprocServer]
@=hex(2):25,53,79,73,74,65,6D,52,6F,6F,74,25,5C,53 ,59,53,54,45,4D,5C,44,41,4F,32,35,31,36,2E,64,6C,6 C,00
erstellt, das wird beim Import als REG_EXPAND_SZ interpretiert.
Damit läuft es.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz