Probleme beim Erstellen des Dienstes mit sc.exe

15

Ich habe diesen Befehl, um einen Dienst zu erstellen:

sc create svnserve binpath="\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\SVNRoot" displayname="Subversion" depend=tcpip start=auto obj="NT AUTHORITY\LocalService"

Leider scheint es nicht zu funktionieren, obwohl die Syntax korrekt ist. Wenn ich es ausführe, erhalte ich die Verwendungsanweisungen (was meiner Meinung nach ein Hinweis darauf ist, dass ich falsche Argumente angegeben habe, obwohl ich keine Ahnung habe, welches falsche Argument ich möglicherweise angegeben habe).

Kann mir jemand aus meinen Schwierigkeiten helfen? Vielen Dank!

Tola Odejayi
quelle

Antworten:

26

Ihre Syntax ist tatsächlich falsch, aber Sie werden es verzeihen, wenn Sie sie verpassen.

Aus dem Hilfetext für sc create:

NOTE: The option name includes the equal sign.

Daraus ergibt sich nicht sofort, dass die Optionen mit einem Leerzeichen zwischen dem Optionsnamen und dem Wert angegeben werden müssen.

Falsch:

displayname="Subversion"

Korrigieren Sie (beachten Sie das Leerzeichen danach =):

displayname= "Subversion"

Ihr Befehl sollte entsprechend gut formatiert funktionieren, dh:

sc create svnserve binpath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\SVNRoot" displayname= "Subversion" depend= tcpip start= auto obj= "NT AUTHORITY\LocalService"
ThatGraemeGuy
quelle
Hat Ihre Antwort als Antwort gewählt, weil sie detaillierter war. Vielen Dank!
Tola Odejayi
Dies scheint in Windows 10 kein Problem mehr zu sein. Es scheint für mich zu funktionieren, wenn jemand anderes dies überprüfen möchte.
Joel McBeth
Du hast meinen Tag gerettet!
QtRoS
15

Sie benötigen Leerzeichen nach =

displayname = "Subversion Server" depend = Tcpip start = auto

evg345
quelle
+1 - Die sc-Syntax verwirrt Erstbenutzer mit der Notwendigkeit von Leerzeichen nach Argumenten.
Evan Anderson
2
Ich benutze es seit Jahren und es stolpert mich immer noch gelegentlich. :-(
ThatGraemeGuy