Как запускать службы .NET из командной строки? net start "Пример службы" не работает.
Запустить .NET Services из командной строки
Ответы (4)
Службы не должны запускаться из командной строки. Сначала зарегистрируйте его (installutil / i service_path), затем начните с net start или sc start.
В качестве альтернативы создайте основную точку входа в сервисном проекте и запустите свою логику, чтобы вы могли протестировать свою службу из командной строки. Однако это не будет реальной сервисной средой.
Убедитесь, что вы добавили установщик в службу Windows. Это необходимо сделать для того, чтобы утилита InstallUtil.exe работала. Вы можете увидеть, как это сделать, здесь.
После добавления установщика InstallUtil.exe можно использовать для установки и удаления службы.
- Установить:
InstallUtil.exe <YourServiceExecutable>
- Удалить:
InstallUtil.exe /u <YourServiceExecutable>
Чтобы запустить и остановить службу, используйте решение Reed.
Если вы хотите пофантазировать, вы можете добавить в свою службу некоторую логику командной строки, которая позволит вам делать все это (установка и запуск / остановка и удаление) непосредственно из вашей службы, т. Е. Вы выиграли. Мне больше не нужно использовать InstallUtil.exe. Это решение здесь.
Вы можете запустить или остановить службу, позвонив:
net start "Service Name"
net stop "Service Name"
Подробнее см. в этой технической статье.
Это должно сработать, если верно следующее:
- Командная строка / пользователь имеет соответствующие разрешения для запуска службы. Это потребуется для ЛЮБОГО решения.
- Сервис правильно установлен и зарегистрирован в системе. Я подозреваю, что это может быть виноватым. Указана ли услуга в списке услуг?