![]() |
Dienst ohne Benutzereingabe starten
Hallo zusammen,
ich habe folgendes Problem. Meine Software läuft in einer Maschine im Hintergrund, ohne dass normalerweise Benutzereingaben erforderlich sind. Mein Programm erfordert, dass ein bestimmter Dienst läuft. Leider kommt es manchmal vor, dass dieser Dienst nicht gestartet wurde. Mein Lösungsansatz war jetzt, einfach zu prüfen, ob der Dienst läuft und wenn nicht, diesen starten. Dazu brauche ich leider Admin Rechte. Wenn ich aber die Rechte über ein Manifest anfordere, muss der Bediener bei Programmstart eine UAC Meldung bestätigen. Das darf aber nicht bei jedem Programmstart erforderlich sein. Wenn der Fall auftritt, möchte ich eine Fehlermeldung an das Mastersystem weitergeben, die dann den Bediener dazu auffordern kann, an meinem System etwas zu machen. Dann kann ich eine Meldung anzeigen, die der Bediener quittieren muss und dabei wollte ich ein anderes Programm zu starten, das den Dienst startet. Hier würde es nicht stören, wenn der Bediener noch die UAC Meldung bestätigen muss. Leider scheint das so auch nicht zu funktionieren, da ich beim Start des Zusatzprogramms (CreateProcess -> ErrorCode=740) eine Fehlermeldung bekomme. Also bräuchte ich scheinbar auch für den Start des Programms Admin Rechte. Hat jemand eine Idee, wie ich dieses Problem lösen könnte? |
AW: Dienst ohne Benutzereingabe starten
Mal ein Tipp, der bei uns geholfen hat:
Stell/installier mal den Dienst auf "verzögerten Start" und schau dann mal ob du das Problem dann immer noch hast. |
AW: Dienst ohne Benutzereingabe starten
Hmm..
Wenn ich es richtig verstehe, hat Du eine Applikation, welche einen zusätzlichen Dienst benötigt. Dieser ist wohl auch nicht von Dir. Eine Option: Baue Dir nen Starter Dienst, welchen Du einmal installierst. Dieser läuft (normal) als LocalSystem. Deine App schickt nun eine Nachricht (IPC) an deinen Dienst, welcher den anderen Dienst dann startet. Da Dein Dienst als LocalSystem läuft, gibt es kein UAC... |
AW: Dienst ohne Benutzereingabe starten
Danke für die Vorschläge. Ich werde versuchen, das Ganze mal umzusetzen und dann rückmelden, ob es geklappt hat. Kann nur etwas dauern, da ich im Moment nicht an die Anlage darf und der Fehler nicht oft auftritt.
Gruß, Thomas |
AW: Dienst ohne Benutzereingabe starten
Also einen System-Dienst aus einem Programm starten, dazu nehme ich immer eine geplante Aufgabe.
Die Aufgabe braucht keinen Trigger, nur erweiterte Rechte, als Aktion geht z.B. Starten von dem Programm "net" mit Parameter "start <dienstname". Die Anwendung führt nur den manuellen Start der Ausgabe aus, z.B. "SCHTASKS /Run /TN "<aufgabentitel>" Dabei kommen keine UAC-Abfragen. :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 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