![]() |
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:
Gruß Igotcha
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 |
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 |
Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
Hört sich gut an, werde ich testen.
Danke und Grüße Igotcha |
Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
Ich schaffe es irgendwie nicht mit dem Inno Setup den "(Standard)"-Wert zu setzen:
Delphi-Quellcode:
Der "(Standard)"-Key hat immer keinen Wert.
[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 Gruß Igotcha |
Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
Hast du es schonmal mit ValueName = @ versucht?
marabu |
Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
Zitat:
|
Re: BPLs in bestimmtem Verzeichnis verwenden möglich?
Bei mir geht es:
Code:
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.
Root: HKLM; SubKey: "Software\Microsoft\Windows\CurrentVersion\App Paths\Test.exe"; ValueType: string; ValueName: ; ValueData: "C:\Programme\Test.exe"
marabu |
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 |
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:
marabu
... ValueName: ""; ...
|
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 16:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz