Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anwendung aus einem Dienst heraus starten (https://www.delphipraxis.net/114077-anwendung-aus-einem-dienst-heraus-starten.html)

Trille 19. Mai 2008 13:47


Anwendung aus einem Dienst heraus starten
 
Hallo allerseits,
ich möchte einen Windows Dienst schreiben, der es mir erlaubt, auch mit normalen Benutzerrechten einen bereits installierten Tomcat mit Administratorrechten zu starten. Der Tomcat soll dabei nicht als Dienst, sondern als Applikation gestartet werden. Bisher habe ich nur die Möglichkeit mittels ShellExecute gefunden, wobei mir in einbem anderen Thread dringend davon abgeraten wurde. Welche anderen Möglichkeiten habe ich, um den Dienst erstmal überhaupt den Tomcat starten zu lassen?

Danke im voraus
Trille

Phoenix 19. Mai 2008 13:50

Re: Anwendung aus einem Dienst heraus starten
 
Michael hat Dir (aus guten Gründen) davon abgeraten das als Dienst zu realisieren. Er hat nicht von ShellExecute abgeraten.

Was spricht dagegen, das Mittels 'runas' mit hinterlegten Credentials zu realisieren?

Trille 19. Mai 2008 13:53

Re: Anwendung aus einem Dienst heraus starten
 
Zitat:

Zitat von Phoenix
Was spricht dagegen, das Mittels 'runas' mit hinterlegten Credentials zu realisieren?

Der Wunsch meines Chefs, das genau so zu implementieren :)

Er möchte, dass der Administrator den Dienst installiert und das dieser bei Systemstart mit gestartet wird. Ein normaler Anwender soll sich dann mit Hilfe dieses Dienstes den Tomcat mit Administratorberechtigung starten können. Warum das genau so sein soll, erschliesst sich mir auch nicht.

Bernhard Geyer 19. Mai 2008 14:02

Re: Anwendung aus einem Dienst heraus starten
 
Zitat:

Zitat von Trille
Zitat:

Zitat von Phoenix
Was spricht dagegen, das Mittels 'runas' mit hinterlegten Credentials zu realisieren?

Der Wunsch meines Chefs, das genau so zu implementieren :)

Und wenn der Chef sagt du sollst aus dem Fenster springen machst du das auch :mrgreen:

Technisch wird die gewünschte Lösung und Zeiten von Würmern und Viren von Windows mehr und mehr unmöglich gemacht.

Phoenix 19. Mai 2008 14:03

Re: Anwendung aus einem Dienst heraus starten
 
*seufz*

Was an
Zitat:

Zitat von Luckie
Lies dir am besten erst mal elementare Grundlagen bezüglich der Windows Sicherheit an und wie sie funktioniert, sonst gibt das nichts. Ich weise heute bestimmt schon zum dritten mal daraufhin, dass ein Dienst in einer anderen WindowsStation läuft und somit keinen Zugriff auf die Desktops in deiner interaktiven WindowsStation. Das mit Shellexecute gestartete Programm dürftes du deshalb nie zu sehen bekommen.

hast Du denn jetzt nicht verstanden?

Um das mal in Tacheles zu übersetzen: Du kannst aus einem Dienst heraus keine Anwendungen starten, die auf dem User-Desktop laufen.

Würde der Tomcat als Dienst laufen, dann wäre das was anderes. Dann könntest Du einen Dienst und ein Desktop-Tool schreiben. Das Desktop Tool könnte dann mit Deinem Dienst kommunizieren und darüber dann den anderen Dienst (also den Tomcat) starten bzw. beenden.

Trille 19. Mai 2008 14:11

Re: Anwendung aus einem Dienst heraus starten
 
Ah ok, das hatte ich nicht richtig gelesen, sorry.
Also angenommen, der Tomcat wuerde als Dienst laufen, wie könnte ich dann anfangen?

Phoenix 19. Mai 2008 14:17

Re: Anwendung aus einem Dienst heraus starten
 
Du brauchst folgendes:

1. Dienst.
Während er läuft macht er gar prinzipiell gar nichts, ausser auf eine Verbindung der Clientanwendung zu warten (Stichwort IPC, wie auch immer). Für die Clientanwendung bietet er zwei Funktionen an: Tomcat starten und Tomcat stoppen. Die machen genau das: Den Tomcat-Dienst starten oder stoppen.
Hier mal ein Ansatzpunkt: http://msdn.microsoft.com/en-us/library/ms686321.aspx

2. Die Clientanwendung.
Sie bietet dem Benutzer diese zwei Funktionen an, und reicht sie eben via IPC an den Dienst durch.

That's it.

Trille 19. Mai 2008 14:33

Re: Anwendung aus einem Dienst heraus starten
 
Meine Nachfrage hat ergeben, dass der Tomcat definitiv als Applikation laufen muss. Jedoch muss er nur gestartet werden, es muss also auch nix zu sehen sein. Ist dies möglich oder geht das nicht?

Bernhard Geyer 19. Mai 2008 14:34

Re: Anwendung aus einem Dienst heraus starten
 
Zitat:

Zitat von Trille
Meine Nachfrage hat ergeben, dass der Tomcat definitiv als Applikation laufen muss. Jedoch muss er nur gestartet werden, es muss also auch nix zu sehen sein. Ist dies möglich oder geht das nicht?

Sollte ganz normal z.B. mit ShellExecute gehen. Jedoch wirst du Fehlersuchprobleme haben fall er dir mal abschmiert.

Trille 19. Mai 2008 14:36

Re: Anwendung aus einem Dienst heraus starten
 
Das ist egal, da Logfiles benutzt werden. Mit welchen Rechten läuft denn dann der Tomcat? Mit denen des Dienstes oder mit denen des aktuell angemeldeten Benutzers?


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