3

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

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

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

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

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

4

3 回答 3

3

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

于 2012-05-31T18:59:25.970 回答
3

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

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

myServiceInstaller.Account = ServiceAccount.User;
myServiceInstaller.Username = "Domain name\User name";
myServiceInstaller.Password = "qwerty";
于 2012-05-30T23:21:43.937 回答
1

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

于 2012-05-30T23:26:25.020 回答