Windows services 服务启动问题,如何正确捕获错误

Windows services 服务启动问题,如何正确捕获错误,windows-services,reporting,startup,Windows Services,Reporting,Startup,在2008/2008 R2中有很多安全设置。对文件访问的限制,即使是事件日志 我经常看到,当我在本地或在我们的开发服务器上编写代码时,我们的服务运行得很慢,但当将它们转移到生产环境时,我们的服务无法启动,这就需要花很多时间来跟踪问题所在 因为FileAccess甚至eventlog都可以配置为禁止访问。 在这种情况下该怎么办 当您完全没有服务输出时进行故障排除。 特别是当您有第三方来安装和维护您的服务时?是否编写一个应用程序来验证对服务使用的所有资源的访问 因此,以下设备的配置方式可能不受限制:

在2008/2008 R2中有很多安全设置。对文件访问的限制,即使是事件日志

我经常看到,当我在本地或在我们的开发服务器上编写代码时,我们的服务运行得很慢,但当将它们转移到生产环境时,我们的服务无法启动,这就需要花很多时间来跟踪问题所在

因为FileAccess甚至eventlog都可以配置为禁止访问。 在这种情况下该怎么办

当您完全没有服务输出时进行故障排除。 特别是当您有第三方来安装和维护您的服务时?是否编写一个应用程序来验证对服务使用的所有资源的访问

因此,以下设备的配置方式可能不受限制:

事件日志, 自定义磁盘日志记录, 控制台

这给我们留下了什么选择

我听说下一版本的windows server w2k14有更严格的安全策略。 当您尝试启动已安装的计算机时,它会在启动时提示您:, “让你的计算机打开我的电脑会伤害它。”然后它会关闭;)

Brgds,
Stian

我怀疑文件系统访问是否可以完全关闭,因此仍然应该允许写入“公共”资源(例如C:\ProgramData,C:\Users\public),在最坏的情况下,您可以创建一个简单的服务来查询所有其他服务,实际上,我曾经在Linux上使用一个服务(通过网络套接字)这样做过,这基本上是一个引导服务,允许我在一个简单的命令行中控制主服务。

C#,但这些限制来自操作系统,因此任何直接的w32 api调用都会导致相同的限制。通过创建一个参数解决了我的问题,该参数将启动我的服务作为一个应用程序,这样我至少可以获得一些输出。您可以使用工具Ty查看所有访问事件以获得响应。如上面评论所述解决了我的问题。