安装 Windows 服务时出错 -- 该服务未及时响应启动或控制请求

本文关键字:服务 启动 响应 控制 请求 Windows 出错 安装 | 更新日期: 2023-09-27 18:35:53

我有一个Windows服务应用程序,我已经在我的机器上安装了它,没有问题。我去另一台机器上安装它,但收到错误

错误 1001。在安装的提交阶段发生异常。此异常将被忽略,安装将继续。但是,安装完成后,应用程序可能无法正常运行。无法在计算机"."上启动服务 MyService。服务未及时响应启动或控制请求。

此错误会立即弹出,没有任何挂起。通常我只希望在挂起后看到此错误。

我使用的是 .NET 4 框架,该框架安装在两台计算机上。我尝试禁用防病毒程序,认为这可能会干扰服务启动,但这会产生相同的错误。防火墙也被禁用。

还有其他可能导致此问题的原因吗?

安装 Windows 服务时出错 -- 该服务未及时响应启动或控制请求

当 WinService 的 OnStart 方法中引发异常并且未在 try-catch 块中捕获时,通常会发生此行为。我相信您可以使用 EventViewer 查看异常消息和堆栈跟踪,如果没有,您可以使用 EventLog 类轻松实现简单的日志记录功能。

有时会引发异常,因为服务未在特权帐户下运行。要解决此问题,您必须配置安装程序的 ServiceProcessInstaller 对象,如下所示:

myServiceInstaller.Account = ServiceAccount.User;
myServiceInstaller.Username = "Domain name'User name";
myServiceInstaller.Password = "qwerty";

谢谢大家的帮助。我意识到这个问题是由于安装在两台不同机器上的.NET Framework造成的。我的机器有 .NET Framework 4 Client Profile 和 .NET Framework 4 Extended,另一台机器只有 .NET Framework 4 Client Profile。显然,对于服务中的某些组件,需要 .NET Framework 4 客户端配置文件中不存在的库。

由于您的服务在另一台计算机上运行,并且假设两者的代码相同,因此问题可能与权限有关。确保运行服务的帐户对写入文件的任何文件夹具有足够的权限。如果写入事件日志,请确保服务的帐户具有必要的权限。