Windows启动时自动启动服务

时间:2014-12-13 07:09:28

标签: c# .net windows-services

我在windows server 2008 r2中安装了一个服务,并希望在Windows启动时启动它

 class Program : ServiceBase
{
    ...    
    static void Main(string[] args)
    {
        ServiceBase.Run(new Program());
    }

    public Program()
    {
        this.ServiceName = "ABPS";
    }

    protected override void OnStart(string[] args)
    {
        base.OnStart(args);

        this.start();//a method that start works
    }
    ...

2 个答案:

答案 0 :(得分:1)

您需要在服务应用程序中添加安装程序,您需要在其中设置StartType属性。

http://msdn.microsoft.com/en-us/library/ddhy0byf%28v=VS.90%29.aspx

serviceInstaller.StartType = ServiceStartMode.Automatic;

答案 1 :(得分:0)

您应add installer申请。

  

要确定服务的启动方式,请点击   ServiceInstaller组件并将StartType属性设置为   适当的价值。

     
      
  • 手动必须手动维修服务   安装后开始。
  •   
  • 自动服务将在每次启动时自动启动   电脑重启。
  •   
  • 已禁用无法启动服务。
  •   

您可以在AfterInstall事件处理程序

中启动服务
void ServiceInstaller_AfterInstall(object sender, InstallEventArgs e)
{
    using (ServiceController sc = new ServiceController(serviceInstaller.ServiceName))
    {
         sc.Start();
    }
}