Автозапуск службы Windows - PullRequest
       0

Автозапуск службы Windows

1 голос
/ 11 октября 2010

рассмотрим службу Windows с проектом установки, теперь, как я могу заставить службу Windows запускаться после завершения установки?

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

есть идеи?

Ответы [ 3 ]

1 голос
/ 06 августа 2015

Чтобы ваш сервис запускался сразу после установки, вы можете добавить следующие несколько строк кода.Подписавшись на событие Committed, вы можете быть уверены, что оно запускает службу после установки.Также обратите внимание на строку service.StartType = ServiceStartMode.Automatic;, которая, в свою очередь, заботится об установке службы с включенным свойством автоматического запуска, что обеспечивает автоматический запуск службы с перезагрузкой системы.

public class ProjectInstaller : Installer
{
    private ServiceProcessInstaller process;
    private ServiceInstaller service;

    public ProjectInstaller()
    {
        process = new ServiceProcessInstaller();
        process.Account = ServiceAccount.LocalSystem;
        service = new ServiceInstaller();
        service.ServiceName = "MyWCFServer";
        service.StartType = ServiceStartMode.Automatic;
        Installers.Add(process);
        Installers.Add(service);

        service.Committed += new InstallEventHandler(serviceInstaller_Committed);
    }

    void serviceInstaller_Committed(object sender, InstallEventArgs e)
    {
        ServiceController controller = new ServiceController(service.ServiceName);
        controller.Start();
        controller.WaitForStatus(ServiceControllerStatus.Running);
    }
}
1 голос
/ 11 октября 2010

Вы можете создать новое настраиваемое действие, которое будет использовать класс ServiceController для запуска вновь созданной службы.

0 голосов
/ 11 октября 2010

Как предположил Иоганн Блейс; Сначала добавьте проект развертывания и добавьте настраиваемое действие на вкладке «Установить» и «Зафиксировать», выполнив все необходимые действия на этой вкладке, что означает запуск службы.

...