自动启动服务时,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;