Запустите приложение командной строки как службу

277
Tobia

У меня есть программа exe, и я хотел бы создать новый сервис в системе WinNT. Эта программа представляет собой крошечный ftpserver командной строки.

Я попробовал эту команду:

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

Это работает для создания сервиса, но когда я пытаюсь запустить его, у меня появляется тайм-аут. Может быть, потому что эта командная строка на самом деле не является демоном.

Есть ли способ избежать этой ошибки и запустить приложение командной строки в фоновом режиме?

0
вы, вероятно, хотите использовать `installutil.exe`: https://msdn.microsoft.com/en-us/library/aa984379%28v=vs.71%29.aspx Я заметил, что у вас есть тег NT4. Я не верю, что sc.exe поставлялся с NT4 (я почти уверен, что это был Win2k), но я должен признать, что прошло 12 лет с тех пор, как я прикоснулся к коробке NT4. Frank Thomas 8 лет назад 0
К сожалению, это станок с ЧПУ, оснащенный старой операционной системой win NT4. Самой первой проблемой является устаревание этой системы. Tobia 8 лет назад 0

1 ответ на вопрос

1
CoreTech

Ваша служба не запускается (сообщение об ошибке 1053 ), потому что ваш исполняемый файл не является реальной службой Windows и не может правильно ответить на запрос службы запуска.

Вам нужно будет использовать «служебную оболочку» - промежуточную утилиту, которая может перехватывать вызовы запуска / остановки службы и предпринимать соответствующие действия с вашим приложением. Бесплатная (и старая) Srvany от Microsoft выполнит основную работу, но есть и другие бесплатные и коммерческие варианты.