![]() |
Delphi Registry Pfade
Hallo,
in einem Tool will ich alle installierten Delphi Versionen finden um gewisse Pfade ermitteln zu können. Für Delphi Installationen die unter dem aktuellen benutzer installiert wurden finde ich das schon hiermit:
Delphi-Quellcode:
Und kann damit den BDSCatalogRepositoryAllUsers Eintrag auslesen.
Registry.RootKey := HKEY_CURRENT_USER;
if Registry.OpenKey('SOFTWARE\Embarcadero\BDS', false) then Nur: wie funktioniert das für Isntallationen bei den der Installer "als Administrator ausführen, d.h. unter einem anderen benutzerkonto installiert wurde oder bei Nutzung der "Für alle" Option? Wo muss ich da suchen? |
AW: Delphi Registry Pfade
Das sollte z.B. auf diese Art gehen:
Code:
Auf andere User - die können ja auch eigene Installationen haben, die der aktuelle User nicht hat - kannst du allerdings nur als Admin zugreifen.
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS
Auch etwaige Registry-Zweige, die über den -r Parameter angelegt wurden (also nicht BDS), kannst du mit dem bestehenden Ansatz nicht erreichen. |
AW: Delphi Registry Pfade
BDSCatalogRepositoryAllUsers ist für alle Nutzer gleich, also reicht es das einmal zu finden.
Nur BDSCatalogRepository weicht ab. Es gibt immer den Zweig im CurrentUser. Wenn die Delphi-IDE gestartet wird, dann kopiert sie sich den Zweig von LocalMachine ins CurrentUser. Unter HKEY_USERS findet du alle User (aber natürlich hat ein normaler User nicht auf alles Zugriff) Und im CurrentUser muß es nicht "BDS" heißen, falls man die IDE mit -R startet. Das mit den Userverzeichnissen ist eh oftmals vollkommen schwachsinnig, bzüglich BDSCatalogRepository und BDSCatalogRepositoryAllUsers, da z.B. das schrottige Update und auch einige global installierte GetIt-Packete sich im CurrentUser einnisten, obwohl sie global Dateien z.B. im Delphi-InstallationsVerzeichnis ändern, aber GetIt sieht das dann nur, wenn es mit dem selben Nutzer (meist dem Admin) gestartet wurde ... eigentlich müsste es in LocalMachine/AllUsers rein, wenn es global installiert wird :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 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