自动启动服务时,windows启动

问题描述:

我在Windows Server 2008 R2的安装服务,并希望开始它当Windows启动自动启动服务时,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 
    } 
    ... 

你应该add installer到您的应用程序。

要确定您的服务将启动,单击 的ServiceInstaller组件,并设置StartType属性设置为在 适当的值。

  • 手动安装后必须手动启动服务 。
  • 自动只要 计算机重新启动,服务将自行启动。
  • 已禁用该服务无法启动。

您可以在AfterInstall事件处理

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

你需要一个安装程序添加到您的服务应用程序,您将需要设置StartType属性开始为您服务。

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

serviceInstaller.StartType = ServiceStartMode.Automatic;