lebowski23
Goto Top

Eigene exe und Fehler 1053 Dienst startet nicht ..

Hallo,
ich habe eine batch-script das ich in eine *.exe kompiliert habe (mit dem Tool 'Bat To Exe Converter'). Diese funktioniert auch einwandfrei. Das Ziel war, dass ich diese als service ausführen kann. Nun habe ich mit sc.exe die exe als service hinzugefügt. Will man diesen Starten, kommt aber die Fehlermeldung

Fehler 1053 Der Dienst antwortet nicht rechtzeitig auf die Start- oder Steuerungsanforderung


Woran liegt dieses, muss man beim erstellen einer exe die als Dienst eingerichtet ist etwas besonderes beachten?

Achso: das ganze unter Windwos XP Pro, SP3

Content-ID: 169492

Url: https://administrator.de/contentid/169492

Ausgedruckt am: 14.11.2024 um 01:11 Uhr

AndreasHoster
AndreasHoster 11.07.2011 um 15:05:48 Uhr
Goto Top
Ja, muß man.
Für eine x-beliebige EXE als Dienst, gibts im Windows Ressource Kit http://www.microsoft.com/download/en/details.aspx?id=17657 (die 2003 Version tut auch für XP) das Tool srvany.exe.
Anleitung gibts unter http://support.microsoft.com/kb/137890 ist für Win NT, tut aber immer noch.
jsysde
jsysde 11.07.2011 um 20:44:08 Uhr
Goto Top
Woran liegt dieses, muss man beim erstellen einer exe die als Dienst eingerichtet ist etwas besonderes beachten?

Das kommt u.a. auch darauf an, was dieser "Dienst" denn macht, sprich: Wie sieht die zugrunde liegende Batchdatei aus?
Je nach dem unter welchem Account der Dienst startet, hat er (keinen) Zugriff auf Netzwerkressourcen; auch wird ein Dienst nichts mit gemappten Laufwerksbuchstaben anfangen können sondern muss stattdessen mit UNC-Pfaden arbeiten usw. Und es gibt noch einige Dinge mehr, die zu beachten sind - dazu wäre es wichtig, die Batch zu kennen.

Cheers,
jsysde
Lebowski23
Lebowski23 11.07.2011 um 21:24:09 Uhr
Goto Top
Hallo und vielen Dank,

werde dann in morgen srvany ausprobieren.
Die batchdatei mach eigentlich nichts anderes als über net use einen UNC-Pfad "einzubinden" und ein Script auszuführen, das dort liegt (alles ohne laufwerksbuchstaben).

Die Batchdatei als eingeloggter User funktioniert, als Startupscript auch.

Habe für den Service die Abhängigkeiten (TCP ...) angegeben. Der läuft ja dann unter dem Systemkonto, hat er Berechtigungen für die Netzwerkressourcen?

Eine andere Sache noch, das Script als Task (beim Booten) funkioniert nicht (kein Zugriff auf UNC). Wird dies zu früh ausgeführt?

Vielen Dank,
jsysde
jsysde 11.07.2011 um 22:57:37 Uhr
Goto Top
[...]Der läuft ja dann unter dem Systemkonto, hat er Berechtigungen für die Netzwerkressourcen?[...]

Nö.

Cheers,
jsysde
Lebowski23
Lebowski23 11.07.2011 um 23:10:16 Uhr
Goto Top
Dann glich mal die gegenfrage:

Muss ich dann wohl unter "Administrator" laufen lassen?
AndreasHoster
AndreasHoster 12.07.2011 um 08:28:20 Uhr
Goto Top
Nicht unbedingt.
Nur unter einem User, der für alles was Du tust die nötigen Rechte hat.
Das kann der Administrator sein, muß aber nicht.
jsysde
jsysde 12.07.2011 um 18:44:56 Uhr
Goto Top
Muss ich dann wohl unter "Administrator" laufen lassen?

Nö.

Das Lehrbuch sagt: Erstelle für Dienste _immer_ einen eigenen Benutzer, der nur genau so viele Rechte hat, wie er tatsächlich braucht. Diesem User gibt man dann die Berechtigung "Anmelden als Dienst" und trägt dessen Credentials in den Eigenschaften des Dienstes ein.

Cheers,
jsysde

EDIT:
Admin-Rechte sollte man tunlichst vermeiden...