Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Pfad der Exe-Datei von einem Dienst feststellen (https://www.delphipraxis.net/151802-pfad-der-exe-datei-von-einem-dienst-feststellen.html)

Mandi Nice 2. Jun 2010 08:42


Pfad der Exe-Datei von einem Dienst feststellen
 
Hallöchen

Ich bin gerade dabei eine ältere Anwendung so umzustellen, dass diese als Dienst läuft.
Habe von der "Dienst" - Programmierung wenig Ahnung.
Im Internet findet man auch nicht wirklich viel.

Kann mir jemand eine Buch, Anleitung, Tutorial oder ähnliches dafür empfehlen ?

Aber hier mein erstes Problem.
In der alten Anwendung sind dieverse Einstellungen in einem INI-File gespeichert.
Mit ExtractPath(Application.ExeName) stelle ich fest wo die EXE-Datei liegt und wo daher auch die INI-Datei liegt.

Aber in einem Dienst geht das nicht.

Wie kann ich nun feststellen wo die Datei liegt ?

Danke für Eure Hilfe.

hmg
Mandi

mkinzler 2. Jun 2010 08:44

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Aus der Registry auslesen.

himitsu 2. Jun 2010 08:58

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Abgesehn davon gehören solche Daten eh nicht mehr in das Programmverzeichnis (vorallem nicht von installierten Programmen).

Dafür gibt es bestimmte Verzeichnisse, wo sowas hingehört.

Aber wenn du eh umstellst, dann schreib diese Daten doch gleich direkt in die Registry, anstatt der INI.

DataCool 2. Jun 2010 08:59

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Hi,

Du must nicht zwingend den Umweg über die Registry gehen!
Du kannst den Pfad auch folgendermassen ermitteln :

Delphi-Quellcode:
  sAppDir := ExtractFilePath(ParamStr(0));
Greetz Data

Der.Kaktus 2. Jun 2010 09:05

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Hallo,

Du kannst Deine Applikation doch als Dienst laufen lassen. Da gibts nen Tool..AppToService(ApptoService (old-Version))..die iss "noch" Freeware..die neueren Shareware...geht prima..habe ich auch schon oft benutzt.

Bernhard Geyer 2. Jun 2010 09:32

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Zitat:

Zitat von Der.Kaktus
Du kannst Deine Applikation doch als Dienst laufen lassen. Da gibts nen Tool..AppToService(ApptoService (old-Version))..die iss "noch" Freeware..die neueren Shareware...geht prima..habe ich auch schon oft benutzt.

Auch mit Vista/W2008/W7 und aktiver UAC? Solche Tools bzw. die zugrundeliegenden Programme scheitern oft aufgrund der verschärften Default-Rechte eines Prozesses.

taveuni 2. Jun 2010 09:39

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Zitat:

Zitat von Mandi Nice
Mit ExtractPath(Application.ExeName) stelle ich fest wo die EXE-Datei liegt und wo daher auch die INI-Datei liegt.

Aber in einem Dienst geht das nicht.

Abgesehen von allem anderen:
Weshalb sollte das nicht gehen?

Edit: Natürlich so wie von DataCool geschrieben.

Mandi Nice 2. Jun 2010 09:54

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Hallo DataCool

Wenn das wirklich so einfach geht. Super. Danke.


Hallo taveuni

Weil Application bei einem Dienst die Eigenschaft ExeName nicht kennt :-(



hmg
Mandi

himitsu 2. Jun 2010 09:57

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Application.ExeName ist nur eine Weiterleitung zu ParamStr(0)
und dieses holt sich den Dateinamen zum geladenen Image der Anwendung, welches immer existiert.

Mandi Nice 2. Jun 2010 10:00

Re: Pfad der Exe-Datei von einem Dienst feststellen
 
Hallo Der.Kaktus

>> Da gibts nen Tool..AppToService(ApptoService (old-Version)).

Sowas war auch mal im CT' zu finden.
Wäre auf meinem Rechner OK.
Ist mir aber bei meinem Kunden zu riskant.


Hallo himitsu

>> Abgesehn davon gehören solche Daten eh nicht mehr in das Programmverzeichnis (vorallem nicht von installierten Programmen).

Ich gebe Dir Recht. Für große Anwendungen soll man es nicht machen.

Meinen Anwendungen müssen normaler nicht installiert werden.
Es gibt meist ein Setup, aber es reicht die Dateien einzukopieren.
Und die meisten Kunden sind froh das Setup nicht ausführen zu müssen.
Die meisten haben auf dem Rechner nämlich keine Admin-Rechte !


hmg
Mandi


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.
Seite 1 von 2  1 2      

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