Запуск службы программно - PullRequest
       19

Запуск службы программно

0 голосов
/ 24 октября 2011

Я борюсь с запуском службы из другого приложения.

Хорошо, во-первых, это моя отправная точка: я получил обычную службу, завернутую в мой собственный класс, который наследуется от ServiceBase.Кроме того, я получил экземпляр ProjectInstaller, который наследуется от System.Configuration.Install.Installer и обеспечивает правильную установку моей службы в системе.

он получил следующие параметры:

serviceInstaller1.ServiceName = "NameOfService";
serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Manual;
serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalService;

Этот вывод ProjectInstaller устанавливается через обычный проект установки C # .NET.

Служба отображается в списке служб графического интерфейсав рамках управления системой -> администрирование -> услуги.Но что меня интересует, так это то, что служба не отображается в списке служб, если я использую cmd.exe и набираю «net start».

Это то, что я до сих пор.Теперь я хочу запустить свой сервис из другого приложения.Это приложение наследуется от

ServiceController

Если я хочу вызвать метод

Start()

, я получаю сообщение об ошибке, сообщающее, что служба не может быть открыта на локальной машине.

Я использую то же имя службы, которое указано выше.Я запутался в этом, потому что я думал, что служба установлена ​​правильно через мой установщик.Или моему приложению (и cmd.exe тоже) не хватает прав для доступа к службе?

Ответы [ 2 ]

1 голос
/ 25 октября 2011

Я нашел эту статью на stackoverflow. Я думаю, что этот ответ, опубликованный там, можно применить и здесь

см. Ссылку ниже Разрешения ServiceController в Windows 7

0 голосов
/ 24 октября 2011

Я сталкивался с этой проблемой раньше, и она также была основана на разрешениях.Мне бы хотелось, чтобы сообщение об ошибке было немного более четким.

Я бы порекомендовал взглянуть на эту статью SO: C # .NET: получить права администратора? - похоже, чтоучебник по обновлению до административных прав, приведенный в ответах.

...