Starten Sie die Befehlszeilenanwendung als Dienst

386
Tobia

Ich habe ein Exe-Programm und möchte einen neuen Dienst in einem WinNT-System erstellen. Dieses Programm ist ein winziger Befehlszeilen-FTP-Server.

Ich habe diesen Befehl ausprobiert:

sc create testFtp binPath="c:\ftpdmin.exe" start=auto 

Dies funktioniert für die Service-Erstellung, aber wenn ich versuche, es zu starten, bekam ich eine Auszeit. Vielleicht, weil diese Befehlszeile nicht wirklich ein Deamon ist.

Gibt es eine Möglichkeit, diesen Fehler zu vermeiden und eine Befehlszeilenanwendung im Hintergrund zu starten?

0
Sie möchten wahrscheinlich `installutil.exe` verwenden: https://msdn.microsoft.com/de-de/library/aa984379%28v=vs.71%29.aspx Ich habe festgestellt, dass Sie ein NT4-Tag haben. Ich glaube nicht, dass die sc.exe mit NT4 ausgeliefert wurde (ich bin mir ziemlich sicher, dass es eine Win2k-Sache war), aber ich muss zugeben, es ist 12 Jahre her, seit ich eine NT4-Box berührte. Frank Thomas vor 8 Jahren 0
Leider ist dies eine CNC-Maschine, die mit einem alten Win NT4-Betriebssystem ausgestattet ist. Das allererste Problem ist die Überalterung dieses Systems. Tobia vor 8 Jahren 0

1 Antwort auf die Frage

1
CoreTech

Ihr Dienst kann nicht gestartet werden ( Fehler melden 1053 ), da Ihre ausführbare Datei kein echter Windows-Dienst ist und nicht ordnungsgemäß auf die Startdienstanforderung reagieren kann.

Sie müssen ein "Service Wrapper" verwenden, ein Dienstprogramm, das die Start / Stopp-Serviceaufrufe abfangen und die entsprechende Aktion mit Ihrer Anwendung ausführen kann. Microsofts kostenloses (und altes) Srvany erledigt die grundlegende Arbeit, es gibt aber auch andere kostenlose und kommerzielle Optionen.