Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Installationspfad herausbekommen (https://www.delphipraxis.net/61221-installationspfad-herausbekommen.html)

Peter.K 18. Jan 2006 13:44


Installationspfad herausbekommen
 
hi

ich möchte eine anwendung programmieren die mit einem anderen Programm zusammenarbeitet dazu muss jedoch ermittelt werden wo sich das andere Programm befindet ( wo es installiert wurde ).

die andere anwendung ist nicht von mir, dass mal so vorweg.

also meine frage wie kann ich herausfinden wo sich eine anwendung befindet?

danke

ichbins 18. Jan 2006 14:10

Re: Installationspfad herausbekommen
 
Der steht in der Registry (installierte Software).

öffne einfach den regedit.exe und suche nach dem Pfad als Wert.

Dann findest du folgenden Eintrag:

Delphi-Quellcode:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ANWENDUNGSNAME\Uninstallstring
in welchem der Anwendungsname des uninstallers gespeichert ist, welcher sich ja (meistens) im Andwendungsverzeichniss befindet.

Peter.K 18. Jan 2006 17:48

Re: Installationspfad herausbekommen
 
und wie kann ich das genau machen?

ichbins 18. Jan 2006 18:18

Re: Installationspfad herausbekommen
 
Auf die Registry zugreifen kannst du mit tregistry. Wenn du das in Delphi einiebst und auf F1 haust springt sofort die Hilfe mit einem Verwendungsbeispiel auf:

Delphi-Quellcode:
uses
  ..., registry;

[...]

var
  r: TRegistry;
begin
  r := TRegistry.create(KEY_READ);
  r.RootKey = HKEY_LOCAL_MACHINE;
  r.OpenKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ANWENDUNGSNAME, False);
  appdir:=extractfilepath(rreadstring('uninstallstring'));
  r.free;
edit: das Verwendungsbeispiel taucht wenigstens in der D7-Hilfe auf, in der 2005er Version haben sie es aber rausgenommen :wall:

Christian Seehase 18. Jan 2006 20:46

Re: Installationspfad herausbekommen
 
Moin Michael,

dass klappt allerdings oft nicht.
Auf meinem Rechner hättest Du damit nur bei 20% der unter Uninstall befindlichen Installationen die Chance den Installationspfad zu finden.
Besser wäre es wohl Anwendungsspezifisch nach Einträgen in der Registry zu suchen, in der Hoffnung, dass dort auch der Installationspfad hinterlegt ist (was ja nicht unbedingt immer sein muss).

BTW:
Wenn Du Resourcen belegst (z.B. durch ein Create, oder OpenKey) solltest Du mit try/finally sicherstellen, dass diese auch wieder freigegen werden.

tomsel 19. Jan 2006 07:39

Re: Installationspfad herausbekommen
 
Hi,

Hol dir doch den Pfad aus folgendem Schlüssel:
Zitat:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\App Paths
Beispiel Acrobat Reader:
Zitat:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\App Paths\AcroRd32.exe
Der Standardwert unter diesem Schlüssel enthält den Installationspfad samt Exe-Name. Der Wert Path nur den Pfad.


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