我在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
}
...
答案 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();
}
}