Windows无法在Win Server 2008 R2的SP1启动服务(错误1053)(Windo

2019-08-05 06:23发布

这个问题似乎被广泛讨论,但我有发现在我的具体情况解决问题。

我的服务设置下运行Local System帐户。 我第一次机安装了Windows 7 SP1(64位),按预期工作的一切。 可是,就在我尝试我的第二个机与Windows Server 2008 R2 SP1(64位),甚至不是第二个遍上启动该服务,而我面对这个恼人的错误:

Windows could not start the ProService service on Local Computer
Error 1053: The service did not respond to the start or control request in a timely fashion

System Log显示2项:

The ProService service failed to start due to the following error: 
The service did not respond to the start or control request in a timely fashion.

和:

A timeout was reached (30000 milliseconds) while waiting for the ProService service to connect.

实现看起来如下:

Program.cs中:

static void Main()
{
    AppDomain.CurrentDomain.UnhandledException += CurrentDomainUnhandledException;
    ServiceBase.Run(new ServiceBase[] { new ProService() });
}

static void CurrentDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    if (e != null && e.ExceptionObject != null)
    {
        Logger.Record(e.ExceptionObject);
    }            
}

ProService.cs:

public ProService()
{
    InitializeComponent();
}

protected override void OnStart(string[] args)
{
    try
    {
        RequestAdditionalTime(10000);
        FireStarter.Instance.Execute();
    }
    catch (Exception e)
    {
        Logger.Record(e);
        throw;
    }            
}

OnStart方法刚开始一个新的线程,所以它几乎不需要花时间负载执行。 我用RequestAdditionalTime声明以防万一-拒绝这件事情是我的问题的根源。 此外,你可以看到,我处理所有的异常,但没有例外的是在启动过程中写到我的定制服务事件日志(顺便说一句:日志记录工作的第一win7的机器上)。 如何调查这是怎么回事?

Answer 1:

我已经想通了什么几步发生的事情:

  1. 我已经写了控制台应用程序-什么是基本上完成了包装OnStart从服务方法。
  2. 我执行的控制台应用程序 - 应用程序正常启动。
  3. 我复制的业务配置文件的内容到控制台应用程序配置文件。
  4. 我执行控制台应用程序再次 - 应用程序中止默默并立即(惊人的相似,以我们的服务行为,什么是错的)。
  5. 我比较2个CONFIGS - 从服务,并从控制台应用程序原。 因此,我发现了一些差异。 其中,有这样的条目 - 该问题的根源(取出后,一切正常):

     <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> 

所以基本上我有过时的配置文件。 此前业务是以.NET 4.5编译的,那么我已经改变了框架4.0和部署文件服务器,但离开了以前的配置文件(我已经改变了目标框架,因为我的机器有.NET 4.5,而服务器做不)。 我不会想到的显示行会隐藏,没有任何合理的信息的所有问题,这将有助于追踪混乱。



Answer 2:

检查缺少的依赖/ DLL文件。

如果你还没有这样做,让你的服务要调用一个普通的应用程序(长期调试一个很好的技术),看看它是否正常启动您的Windows 2008的计算机上。

如果这样工作,则有可能是在本地系统帐户下运行的问题。 继续前行,从在LocalSystem账户(运行命令提示符启动应用程序例如安装在这里 )。



Answer 3:

我想这是在此提供了以下修复链接

  1. 单击开始,单击运行,键入regedit,然后单击确定。

  2. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \控制

  3. 在右窗格中,找到ServicesPipeTimeout条目。
    注意如果ServicesPipeTimeout项不存在,则必须创建它。 为此,请按照下列步骤操作:
    一个。 在编辑菜单,指向新建,然后单击DWORD值。
    湾 键入ServicesPipeTimeout,然后按ENTER键。
  4. 用鼠标右键单击ServicesPipeTimeout,然后单击修改。
  5. 单击十进制,键入60000,然后单击确定。
    该值表示之前服务超时以毫秒为单位的时间。
  6. 重新启动计算机。

但我仍不得不启动该服务的问题。

这为我工作定盘,

  1. 去SERVICES.MSC
  2. 双击您正在尝试启动该服务。
  3. 就拿登录选项卡
  4. 更改登录身份:本地系统账户。
  5. 尝试这种改变后启动该服务。(还是给了1053错误)
  6. 再次接过登录选项卡,把它改为网络服务(给了一个随机的新密码)
  7. 尝试再次启动服务(该服务启动完全)


Answer 4:

我想下面的步骤。 它的工作就像一个魅力。

1.Go的SERVICES.MSC 2.双击您正在尝试启动该服务。 3.采取登录选项卡4.Changed作为登录:本地系统账户。 5.Tried开始这种改变后的服务。(还是给了1053错误)6.Took登录选项卡再次,它改变为网络服务(给了一个随机的新密码)7.Tried再次启动服务(该服务启动完美)

但我只是想知道会有怎样的问题。



Answer 5:

安装服务后,我不得不放弃了安装文件夹的完全控制权限(每个人)。 然后,我的服务将perfectaly启动。



文章来源: Windows could not start service on Win Server 2008 R2 SP1 (Error 1053)