问题标签 [windows-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
34 回答
366270 浏览

windows - 错误1053:服务没有及时响应启动或控制请求

我最近继承了几个作为 Windows 服务运行的应用程序,并且在为它们提供 gui(可从系统托盘中的上下文菜单访问)时遇到问题。

我们需要 Windows 服务的 gui 的原因是为了能够重新配置 Windows 服务的行为而无需停止/重新启动。

我的代码在调试模式下工作正常,我得到了上下文菜单,一切正常等等。

当我使用命名帐户(即不是本地系统帐户)通过“installutil”安装服务时,服务运行正常,但不会在系统托盘中显示图标(我知道这是正常行为,因为我不具有“与桌面交互”选项)。

但问题是——当我选择“LocalSystemAccount”选项并检查“与桌面交互”选项时,服务需要 AGES 来启动,没有明显的原因,我只是不断收到

无法在本地计算机上启动 ... 服务。

错误 1053:服务没有及时响应启动或控制请求。

顺便说一句,我通过注册表黑客将 Windows 服务超时从默认的 30 秒增加到 2 分钟(请参阅http://support.microsoft.com/kb/824344,在第 3 节中搜索 TimeoutPeriod),但是服务仍然启动超时。

我的第一个问题是 - 为什么“本地系统帐户”登录比使用非 LocalSystemAccount 登录的服务要长得多,从而导致 Windows 服务超时?这两者之间有什么区别会导致启动时出现这种不同的行为?

其次 - 退后一步,我想要实现的只是一个提供配置 gui 的 Windows 服务 - 我很乐意使用非本地系统帐户(使用命名用户/密码)运行,如果我可以让服务与桌面交互(也就是说,在系统托盘中有一个可用的上下文菜单)。这可能吗,如果可以,怎么办?

任何指向上述问题的指针将不胜感激!

0 投票
3 回答
26670 浏览

c# - 服务启动时处理异常

我正在编写一系列 Windows 服务。OnStart()如果在启动期间(在方法中)抛出错误,我希望它们失败。我原以为仅仅抛出一个错误OnStart()就可以做到这一点,但我发现它改为“启动”并向我显示一条消息,说明“服务已启动,但处于非活动状态。这是正确的吗?” (释义)。如何处理错误,使其实际上无法启动服务?

0 投票
8 回答
19019 浏览

c# - Windows 服务与 Windows 窗体在同一进程中

我有 ac# 应用程序,它作为 Windows 服务运行,控制套接字连接和其他东西。此外,还有另一个 Windows 窗体应用程序来控制和配置此服务(带有启动、停止、显示配置参数的表单的系统托盘)。

我正在使用 .net 远程处理进行 IPC,这很好,但现在我想显示一些真实的流量和其他报告,远程处理无法满足我的性能要求。所以我想将这两个应用程序合二为一。

这是问题所在:

当我从 Windows 服务启动表单时,什么也没发生。谷歌搜索我发现我必须右键单击该服务,转到登录并选中“允许服务与桌面交互”选项。因为我不想让我的用户这样做,所以我在安装期间再次进行了一些代码谷歌搜索以在用户的​​ regedit 中设置此选项。问题是即使设置了这个选项,它也不起作用。我必须打开服务的登录选项(已选中),取消选中并再次检查。

那么,如何解决呢?在同一进程中拥有带有系统托盘控件的 Windows 服务的最佳方式是什么,可供任何登录用户使用?

更新:感谢到目前为止的评论,伙计们。我同意使用 IPC 更好,而且我知道混合 Windows 服务和用户界面是不好的。尽管如此,我想知道如何做到这一点。

0 投票
5 回答
21528 浏览

ruby - 将 Ruby 程序作为 Windows 服务运行?

是否可以将 ruby​​ 应用程序作为 Windows 服务运行?我看到有一个相关的问题讨论了将Java 应用程序作为 Windows 服务运行,你如何使用 Ruby 应用程序来做到这一点?

0 投票
5 回答
3108 浏览

.net - 在 .NET 中编写计划的 Windows 服务

我想编写一个用户可以安排的 Windows 服务。即用户可以选择每天上午 9:00 到下午 6 点运行服务,也可以每天晚上运行,从晚上 12 点开始到第二天早上 6 点,等等。 box .NET API 可以帮助我做到这一点吗?我知道我可以使用计划任务来做到这一点,但是有没有办法以编程方式做到这一点?

0 投票
6 回答
7144 浏览

windows - 如何将 CLI 应用程序作为 Windows 服务运行?

假设我有一个执行后台工作的第三方应用程序,但会将所有错误和消息打印到控制台。这意味着,目前,我们必须保持用户登录到服务器,并在每次重新启动时重新启动应用程序(双击)。

不是很酷。

我很确定,有一种简单的方法可以做到这一点 - 一个通用的服务包装器,可以为stdout和配置一个日志文件stderr

我确实检查过svchost.exe,但根据这个站点,它只适用于 DLL 的东西。遗憾。

编辑:应用程序需要从批处理文件启动。FireDaemon 似乎可以解决问题,但我认为这有点矫枉过正,因为可以在不到 10 行 python 代码中完成......哦,好吧,这里没有发明......

0 投票
3 回答
6943 浏览

windows-services - 安装不需要手动运行 installutil 的 C# Windows 服务的最佳方法是什么?

我想打包一个 C# windows 服务项目,以便任何人都可以轻松安装它,而无需使用 installutil 命令提示实用程序?是否有一种简单的方法来配置 Visual Studio 安装项目以执行类似于安装 winforms 应用程序的方式?

0 投票
1 回答
4865 浏览

windows-services - 从与用户桌面交互的 Windows 服务运行 exe

我在 C# 和 Windows Server 2003 中创建了一个 Windows 服务。我希望我的服务能够运行一个 Windows 窗体应用程序的 exe 文件。当我启动服务时 - 它运行另一个应用程序,但我看不到它。当我打开任务管理器时 - 我可以看到应用程序正在运行,但我只是看不到它。我检查了“允许服务与桌面交互”,但没有任何反应。请帮忙。是否可以从 Windows 服务中运行和 exe 并查看在 widnows server 2003 中运行的 exe?

0 投票
2 回答
188564 浏览

c# - 如何验证 Windows 服务是否正在运行

我有一个 C# 应用程序(在 XP 嵌入式上运行 2.0),它与作为 Windows 服务实现的“看门狗”通信。当设备启动时,此服务通常需要一些时间才能启动。我想从我的代码中检查服务是否正在运行。我怎样才能做到这一点?

0 投票
4 回答
108281 浏览

windows-services - 作为域帐户运行 Windows 服务所需的最低权限

有谁知道我需要授予域用户帐户的最低权限才能以该用户身份运行 Windows 服务?

为简单起见,假设服务除了启动、停止和写入“应用程序”事件日志之外什么都不做——即没有网络访问、没有自定义事件日志等。

我知道我可以使用内置的 Service 和 NetworkService 帐户,但由于网络策略到位,我可能无法使用这些帐户。