Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programmausführung durch Dienst - geht nicht korrekt (https://www.delphipraxis.net/35147-programmausfuehrung-durch-dienst-geht-nicht-korrekt.html)

Susanne 3. Dez 2004 09:33


Programmausführung durch Dienst - geht nicht korrekt
 
Hallo,

ich habe eine Frage. Wo liegt der Unterschied, wenn ich ein Programm per Doppelklick starte und wenn mein Dienst ein Programm startet?

Problem : Ich starte mein Programm per Doppelklick --> richtig ausgeführt.
Dienst startet Programm mit C:\Programme\text.exe --> nicht richtig ausgeführt
Ich starte Programm mit C:\Programm\text.exe in Eingabeaufforderung --> richtig ausgeführt

Woran kann dies nun liegen?

Neelix 3. Dez 2004 09:38

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Fragen über Fragen: :)
  • Was ist das für ein Dienst?
  • Unter welchen User läuft der?
  • Wie äußert sich das nicht korrekte Laufen?
  • Werden irgendwelche definierten Dateipfade benötigt?

Sprint 3. Dez 2004 09:39

Re: Programmausführung durch Dienst - geht nicht korrekt
 
@Susanne: Das kommt drauf an wie du dein Programm startest und unter welchem Benutzerkonto es dann läuft.

Susanne 3. Dez 2004 09:47

Re: Programmausführung durch Dienst - geht nicht korrekt
 
danke für die schnellen Antworten,

Das Programm wird dann unter dem Benutzerkonto System ausgeführt, weil der Dienst dieses ja auch startet. Das Programm sollte aber auch von jedem ausgeführt werden können.

Der Dienst hat die Aufgabe verschiedene Programm zu starten. Und zwar immer nur eines. Dann warten bis das Programm fertig ausgeführt ist und wieder beendet ist und anschliessend das nächste Starten. usw.

Ob es korrekt läuft sehe ich an der erzeugten log-Datei. Das Programm arbeitet mit absolut den gleichen Daten, wenn ich es starte sind bei der Hälfte Fehlermeldungen, die auch korrekt sind und wenn der Dienst das Programm startet sind andere Fehlermeldungen, das die Dokumente überhaupt nicht erzeugt werden konnten. Also ganz andere Fehlermeldungen und bei allen. Dateipfade sind angegeben und zwar mit c:\ ...

Orbmu2k 3. Dez 2004 09:49

Re: Programmausführung durch Dienst - geht nicht korrekt
 
dienst.exe /install
net start ServiceName

Susanne 3. Dez 2004 10:00

Re: Programmausführung durch Dienst - geht nicht korrekt
 
den Dienst installieren und starten funktioniert ja, nur die Ausführung der Programme, die der Dienst startet nicht!

Orbmu2k 3. Dez 2004 10:05

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Ahso ok verlesen :roll:

Warum muss es ein Dienst sein ?

Und ansonsten muss ich allen anderen Recht du kannst die Progs nicht als SYSTEM Benutzer starten.

Also Rausbekommen wer der aktuell angemeldete Benutzer ist und über seinen Account ausführen..

Problem dabei wenn Windows startet werden die Dienste schon ausgeführt (wenn StartType atuomatic) wenn noch kein Benutzer angemeldet ist ....

Welches Ziel verfolgt dein Dienst eigentlich das es nicht als normale Anwendung sein darf ?

Susanne 3. Dez 2004 10:09

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Dienst: weil er im Hintergrund laufen soll

Die Programm werden gestartet und beenden sich wieder von selbst, also kann doch das System die Programm ausführen.

Problem: Es ist eventuell gar keiner angemeldet am Rechner, und die Programme sollen trotzdem abgearbeitet werden! Die müssen sogar abgearbeitet werden.

Orbmu2k 3. Dez 2004 10:14

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Dann müssen alle anderen auch DIenste sein ... NT/2000/XP lässt keine "normale" Anwendung ohne eingeloggten User ausführen...

Schreib es am Besten als normale Anwendung die im Autostart des Benutzers ausgeführt wird.

Delphi-Quellcode:
  Application.ShowMainForm := False;
versteckt deine Anwendung und ist nur noch als Process sichtbar ....

Jasocul 3. Dez 2004 10:16

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Ich habe auch so einen Service. Der wird z.B. für die Abarbeitung von Datenbank-Exports u.ä. Dingen benötigt. Es werden einfach Batchdateien aufgerufen. In denen alles mögliche gemacht werden kann, was nicht anderweitig automatisiert werden kann.

Zum Thema:
Welchen StartTyp und ServiceTyp hast du eingestellt? Bei mir sind es stSystem und stWin32.

Neelix 3. Dez 2004 10:17

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Nur mal so am Rande gefragt. Warum aus einem Dienst heraus starten. Mann kann auch den Scheduler von NT/XP nehmen. Und dort hast Du dann die Möglichkeit festzulegen, unter welchem Benutzer-Account das Programmlaufen soll.

[Nachtrag]
Auch die Dienste kann man einem Benutzer-Account zuordnen, wie ich gerade gesehen habe.

sakura 3. Dez 2004 10:18

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Suche doch mal in der DP, wir hatten dazu schon häufig Fragen. Meistens endeten sie darin, dass es besser ist einen anderen Ansatz zu suchen :?

...:cat:...

Jasocul 3. Dez 2004 10:22

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Zitat:

Zitat von Neelix
Nur mal so am Rande gefragt. Warum aus einem Dienst heraus starten. Mann kann auch den Scheduler von NT/XP nehmen. Und dort hast Du dann die Möglichkeit festzulegen, unter welchem Benutzer-Account das Programmlaufen soll.

Und was machst du, wenn das nachts auf dem Server laufen soll? Soll da eine offene Anmeldung bleiben?

Thema:
Wie sehen deine OpenService-Parameter aus?

sakura 3. Dez 2004 10:26

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Zitat:

Zitat von Jasocul
Und was machst du, wenn das nachts auf dem Server laufen soll? Soll da eine offene Anmeldung bleiben?

Das Programm wird durch Windows trotzdem unter dem korrekten Account ausgeführt, sofern der Rechner selbst an ist. :zwinker:

...:cat:...

Jasocul 3. Dez 2004 10:35

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Zitat:

Zitat von sakura
Zitat:

Zitat von Jasocul
Und was machst du, wenn das nachts auf dem Server laufen soll? Soll da eine offene Anmeldung bleiben?

Das Programm wird durch Windows trotzdem unter dem korrekten Account ausgeführt, sofern der Rechner selbst an ist. :zwinker:

...:cat:...

Da reicht der Scheduler?? Das ist mir neu. Aber ich glaubs dir erstmal.

sakura 3. Dez 2004 10:38

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Jasocul
Da reicht der Scheduler?? Das ist mir neu. Aber ich glaubs dir erstmal.

Zumindest unter Windows 2003 kann ich den User und das Passwort einstellen.

...:cat:...

Jasocul 3. Dez 2004 10:44

Re: Programmausführung durch Dienst - geht nicht korrekt
 
Unter XP Pro gehts auch.
Man lernt halt nie aus.


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