Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi BPLs in bestimmtem Verzeichnis verwenden möglich? (https://www.delphipraxis.net/66949-bpls-bestimmtem-verzeichnis-verwenden-moeglich.html)

Igotcha 6. Apr 2006 23:08


BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Hallo zusammen,

momentan liegen die Delphi-Runtimelibraries (BPLs) meiner Anwendung direkt im Anwendungsverzeichnis. So kann ich die Anwendung unabhängig von evtl. im System32-Verzeichnis bereits vorhandenen *.bpl und ggf. damit verbundenen Inkompatibilitäten auf dem Zielrechner laufen lassen. Denn die exe schaut zuerst im selben Verzeichnis, ob es da die *.bpls findet.

Nun sieht das aber nicht "schön" aus, wenn sich im Hauptanwendungsverzeichnis 30 *.bpls tummeln.

Gibt es eine Möglichkeit, diese z.B. in ein Unterverzeichnis "lib" in meinem Anwendungsverzeichnis zu packen und meiner Anwendung zu sagen, dass es genau diese nehmen soll?

Delphi-Quellcode:
So ist es momentan:

App.exe
vcl70.bpl // wird anstatt evtl. bereits vorhandener vcl70.bpl in WINDOWS/System32 genommen

Ich hätte gerne:

lib
  +-> vcl70.bpl
App.exe
Gruß Igotcha

marabu 7. Apr 2006 05:58

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Guten Morgen.

Vielleicht solltest du dein Programm unter "HKLM\Software\Microsoft\Windows\CurrentVersion\Ap p Paths" eintragen. Du erkennst die Vorgehensweise sicher, sobald du diesen Pfad mit dem registry editor öffnest. Der Pfad zum Programm ist als Standardwert einzutragen, das Äquivalent zur Umgebungsvariable PATH wird unter Path eingetragen. Wenn du dort dein privates LIB-Verzeichnis einträgst, sollten parallel installierte DLLs kein Problem mehr sein.

Grüße vom marabu

Igotcha 7. Apr 2006 09:34

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Hört sich gut an, werde ich testen.

Danke und Grüße
Igotcha

Igotcha 7. Apr 2006 14:31

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Ich schaffe es irgendwie nicht mit dem Inno Setup den "(Standard)"-Wert zu setzen:

Delphi-Quellcode:
[Registry]
Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\xBAS; Flags: uninsdeletekeyifempty uninsdeletevalue deletekey deletevalue preservestringtype; Tasks: ; Languages: ; ValueData: G:\xBAS\MainApp.exe; ValueType: string
Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\xBAS; ValueType: string; ValueName: Path; ValueData: C:\Test\lib; Flags: uninsdeletekeyifempty uninsdeletevalue preservestringtype deletekey deletevalue
Der "(Standard)"-Key hat immer keinen Wert.

Gruß Igotcha

marabu 7. Apr 2006 16:01

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Hast du es schonmal mit ValueName = @ versucht?

marabu

Igotcha 7. Apr 2006 17:56

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Zitat:

Zitat von marabu
Hast du es schonmal mit ValueName = @ versucht?

marabu

Ja, bei Wert in der Registry steht immer "(Wert nicht gesetzt)".

marabu 7. Apr 2006 18:17

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Bei mir geht es:

Code:
Root: HKLM; SubKey: "Software\Microsoft\Windows\CurrentVersion\App Paths\Test.exe"; ValueType: string; ValueName: ; ValueData: "C:\Programme\Test.exe"
Ich vermute es liegt daran, dass du das Schlüsselwort ValueName nie angibst. Laut Dokumentation wird der Standardwert über einen leeren ValueName-Wert gesetzt - und nicht durch das Weglassen des ValueName-Schlüsselwortes.

marabu

Igotcha 7. Apr 2006 22:14

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Irgendwie funktioniert das bei mir nicht - ich habe Dir eine PN mit dem IS Tool-Skript geschickt, evtl. siehst Du ja da einen Fehler.

Gruß Igotcha

marabu 8. Apr 2006 13:55

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Einen Fehler erkenne ich nicht, aber ich hatte mit einer älteren Version getestet. Vielleicht ist der INNO Parser inzwischen etwas pingelig geworden und du musst den leeren String so angeben:

Code:
... ValueName: ""; ...
marabu

Igotcha 9. Apr 2006 00:55

Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
 
Hab den Fehler gefunden: Der Name muss vor dem Value in der Zeile kommen. Irgendwie hat das IS Tool dies bei dem betreffenden Eintrag durcheinander gebracht.

Gruß Igotcha


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 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