【问题标题】:sc.exe to install an exe as a service?sc.exe 将 exe 安装为服务?
【发布时间】:2013-02-28 04:27:53
【问题描述】:

我一直在阅读有关 sc.exe 以将可执行文件作为 Windows 服务运行的大量时间,它似乎应该相当简单,但我遇到了一些问题,让它在没有此错误的情况下工作:错误1053 服务没有及时响应或控制请求。

我得到了要安装的服务,它在服务列表中,但它不允许我启动它。这就是我正在使用的一个基本尝试:

>sc create TestService binPath= "C:\Program Files (x86)\[path.exe]" DisplayName= "TestingServices" start= auto

我做错了什么?我尝试作为服务运行的 exe 是否必须设置为正确作为服务运行?我认为情况并非如此,因为那里有可以将任何 exe 作为服务运行的程序。我正在尝试做同样的事情,我该怎么做?

【问题讨论】:

  • 您在事件日志中观察到什么错误?

标签: c# .net windows windows-services servicecontroller


【解决方案1】:

您不能将任何可执行文件作为服务运行;可执行文件需要专门编写以包含服务循环。服务循环接收控制请求(例如启动、停止、重新启动、挂起),必须执行启动初始化、停止清理等处理并响应这些控制请求,否则服务控制管理器将杀死它。

【讨论】:

  • 没有办法让不是设计为服务的exe在后台作为服务运行?我知道这是可能的,因为有一些程序可以做到这一点,但我想它比像我试图做的那样运行它要复杂一些。有没有一种简单的方法来运行一个不是设计为服务即服务的 exe(只是让它始终运行的东西)。
  • 作为服务运行意味着它旨在响应服务控制请求。你见过不是为响应服务控制请求而设计的,而是为响应服务控制请求而设计的exe吗?仔细想想你的问题。不要问 X,因为 X 似乎是做 Y 的方式。问 Y... 假设您有这方面的源代码,实现服务 main 并不困难。你试过了吗?
【解决方案2】:

尝试使用

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe Assembly.exe|dll

改为。

【讨论】:

    【解决方案3】:

    3 个月前我也遇到了同样的问题。我刚刚检查了这个sample。然后执行与您相同的语法。然后瞧!进展顺利!

    【讨论】:

      【解决方案4】:

      @UndefinedBehaviour 是正确的,不过有一些解决方法

      • SrvAny.exe - 来自 WinNT 资源工具包,现在看起来相当长了
      • firedaemon - 第三方商业产品

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-09
        • 2021-08-01
        • 1970-01-01
        • 2016-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多