Чтобы ваш сервис запускался сразу после установки, вы можете добавить следующие несколько строк кода.Подписавшись на событие 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);
}
}