Проблемы при создании сервиса с использованием sc.exe

15

У меня есть эта команда для создания службы:

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"

К сожалению, кажется, что это не работает, хотя синтаксис правильный. Когда я запускаю его, я получаю инструкции по использованию (я полагаю, это способ сказать мне, что я указал неверные аргументы, хотя я понятия не имею, какой неправильный аргумент я мог бы предоставить).

Может ли кто-нибудь помочь мне выбраться из моей трудности? Благодарность!

Тола одежайи
источник

Ответы:

26

Ваш синтаксис на самом деле неверен, но вы будете прощены за его пропущение.

Из текста справки для sc create:

NOTE: The option name includes the equal sign.

Из этого не очевидно, что параметры должны быть указаны с пробелом между именем параметра и значением.

Неправильно:

displayname="Subversion"

Исправьте (обратите внимание на пробел после =):

displayname= "Subversion"

Ваша команда должна работать нормально отформатированной, то есть:

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
источник
Проголосовал ваш ответ как ответ, потому что он был более подробным. Благодарность!
Тола Одежаи
Это больше не является проблемой в Windows 10. Похоже, это работает для меня, если кто-то еще хочет проверить это.
Джоэл МакБет
Вы спасли мой день!
QtRoS
15

вам нужны пробелы после =

displayname = "Subversion Server" зависимость = запуск Tcpip = авто

evg345
источник
+1 - синтаксис sc сбивает с толку новых пользователей с необходимостью пробелов после аргументов.
Эван Андерсон
2
Я пользуюсь им годами, и он до сих пор иногда сбивает меня с толку. :-(
ThatGraemeGuy