当我尝试启动我在Visual Studio中创建的服务时,收到以下错误:
System error 5 has occurred. Access is denied.
我正在使用提升的权限运行命令行,所以这不是那个问题.我有什么地方可以看看发生了什么错误.
为了使它工作,我需要为我的服务项目的输出bin\debug文件夹添加权限.
本地服务帐户没有输出.exe文件的权限,这就是错误发生的原因.
有同样的问题.
通过在"本地系统帐户"下运行服务来修复
就我而言,解决方案就是这么简单:以管理员身份运行命令提示符.
我看到你已经解决了这个问题; 但实际上,你通常不应该从项目的bin文件夹运行服务 - 文件应该放在项目和配置文件独立的地方(例如,在程序文件下).为了进行调试(当它会在bin文件夹),你可以检测它是否是一个服务Main()
,如果正在运行交互只需直接运行该服务代码,而不是通常的服务启动安装程序.
您可以通过添加命令行参数来检测,也可以尝试检查Environment.UserInteractive
.