AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dienst ohne Benutzereingabe starten

Ein Thema von kub · begonnen am 19. Nov 2019 · letzter Beitrag vom 19. Nov 2019
Antwort Antwort
kub

Registriert seit: 13. Nov 2008
44 Beiträge
 
Delphi 10.3 Rio
 
#1

Dienst ohne Benutzereingabe starten

  Alt 19. Nov 2019, 12:28
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?
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Dienst ohne Benutzereingabe starten

  Alt 19. Nov 2019, 13:53
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.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#3

AW: Dienst ohne Benutzereingabe starten

  Alt 19. Nov 2019, 15:43
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...
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
kub

Registriert seit: 13. Nov 2008
44 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Dienst ohne Benutzereingabe starten

  Alt 19. Nov 2019, 16:13
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
  Mit Zitat antworten Zitat
Faxe

Registriert seit: 10. Jan 2013
29 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Dienst ohne Benutzereingabe starten

  Alt 19. Nov 2019, 16:32
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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