确定.net windows-service无法启动的原因

msa*_*het 6 .net windows-services

我试图确定为什么我可以在大量机器上成功安装的.Net服务无法在某些机器上启动.

当在这些机器上启动服务时,服务立即停止,因此我的假设是用户没有足够的权限来安装服务或者服务存在问题; 但是,这两个条件都是错误的(服务有效并且它们具有足够的权限).

我应该采取哪些步骤来确定服务无法启动的原因?

编辑

由于提供了一些答案,我弄清楚出了什么问题,请参阅我的答案,了解我的解决方案.

Mat*_*les 6

应用程序事件日志应包含服务启动期间发生的任何.Net异常的详细信息.这可能有助于诊断问题.

或者,您可以向应用程序启动添加一些调试代码(或跟踪代码),并使用Sysinternals的 debugview 查看它到达的位置.


msa*_*het 4

所以我明白了这一点,感谢查看@Matthew Steeples 和@Ben M 的事件日志。

问题是服务在连接到服务器时会在启动时写入事件日志;但是,这台计算机的事件日志已满,因此当服务尝试写入事件日志时失败,导致它抛出异常,该异常再次无法写入完整的事件日志。

因此,如果您正在写入事件日志,请确保它未满或者您正在处理异常!

  • 实际上这是一种可以接受的做法,提供的答案实际上并不正确,是的,他们向我指出了答案,但不是实际的答案。元帖子:http://meta.stackexchange.com/questions/14488/if-i-find-out-my-answer-why-do-i-have-to-wait-2-days-to-accept-it -关闭http://meta.stackexchange.com/questions/2800/should-i-ask-questions-i-already-know-the-answer-to-and-answer-them-myself http://meta.stackexchange .com/questions/12513/stack-overflow-should-i-answer-my-own-question-or-not (6认同)
  • 我想补充一点,只有在没有其他答案可以帮助您解决问题的情况下,才可以添加并接受您自己的答案(请原谅双关语)。 (2认同)