系统错误5启动.NET服务时拒绝访问

Dan*_*l O 50 .net windows error-handling windows-services visual-studio

当我尝试启动我在Visual Studio中创建的服务时,收到以下错误:

System error 5 has occurred.

Access is denied.
Run Code Online (Sandbox Code Playgroud)

我正在使用提升的权限运行命令行,所以这不是那个问题.我有什么地方可以看看发生了什么错误.

Dan*_*l O 49

为了使它工作,我需要为我的服务项目的输出bin\debug文件夹添加权限.

本地服务帐户没有输出.exe文件的权限,这就是错误发生的原因.

  • 您可以详细说明修复此问题所需的步骤吗? (7认同)
  • 美好的一天,任何人都可以请详细说明.你是什​​么意思添加bin/debug的权限.谢谢. (3认同)
  • 我爱你 - 救了我的夜晚! (2认同)

Ale*_*r G 17

有同样的问题.

通过在"本地系统帐户"下运行服务来修复

在此输入图像描述

  • 这可能是不安全的.请参见http://stackoverflow.com/a/510225/1676883. (3认同)

hfr*_*ile 13

就我而言,解决方案就是这么简单:以管理员身份运行命令提示符.

  • 但是,当您尝试通过任务计划安排服务时,此解决方案将不起作用。 (2认同)

Mar*_*ell 10

我看到你已经解决了这个问题; 但实际上,你通常不应该从项目的bin文件夹运行服务 - 文件应该放在项目和配置文件独立的地方(例如,在程序文件下).为了进行调试(当它在bin文件夹),你可以检测它是否是一个服务Main(),如果正在运行交互只需直接运行该服务代码,而不是通常的服务启动安装程序.

您可以通过添加命令行参数来检测,也可以尝试检查Environment.UserInteractive.