C#中的窗口服务启动失败

时间:2011-12-17 12:22:45

标签: c# .net windows-services

我有一个Windows服务应用程序。当我按下按钮时,我想启动该服务。但我收到以下错误。

  

窗口服务启动失败:
       无法从命令行或调试器启动服务。一个Windows        必须首先安装服务(使用installutil.exe),然后启动        使用ServerExplorer,Windows服务管理工具或NET        START命令。

C#代码:

 namespace WindowsFormsApplication1
 {
  partial class Service1 : ServiceBase
 {
    public Service1()
    {
        InitializeComponent();
    }
    protected override void OnStart(string[] args)
    {
        RegistryKey KEY = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\baslat", true);
        KEY.DeleteValue("timer",true);
    }
    protected override void OnShutdown()
    {
        RegistryKey KEY = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\baslat", true);
        KEY.SetValue("timer","");
    }
 }
 }

2 个答案:

答案 0 :(得分:1)

它告诉你该怎么做。您需要在Windows中安装该服务。然后,您可以使用窗口service control manager停止并启动它。

由于服务具有不同的入口点,因此无法像exe那样启动它。但是,没有什么可以阻止你在SCM下运行的exe和正常的程序。

答案 1 :(得分:1)

您需要安装该服务,如错误消息所示:

installutil.exe yourservice.exe

然后你可以用:

开始
net start yourservice