![](/img/trans.png)
[英]C# - Windows Service running under LocalSystem is prompting for credentials when installing using Visual Studio setup project
[英]Prompting username password while installing the windows service in c#
安装在 c# 中创建的 Windows 服务时,系统提示我输入用户名和密码。 我使用 installutil 工具来安装我的服务。 询问用户名密码凭据的原因是什么?
如果您不希望您的 Windows 服务提示输入用户名/密码,请转到服务的Installer Class(Design Mode)
,然后右键单击ServiceProcessInstaller -> Properties
; 将Account
设置为Local Service
。
现在使用installutil
命令。 它不会询问用户名/密码。
Windows 中的每个进程或服务都在特定的 Windows 用户帐户下运行。
用户帐户用作服务或进程执行的任何操作的标识。 如果您的流程或服务需要执行任何需要安全权限的任务,则将仅根据与流程/服务相关联的用户身份进行授予。
假设您在名为“SVCUSER”的用户下运行您的服务,并且该服务需要在磁盘的任何位置进行磁盘 I/O。 如果用户“SVCUSER”没有为给定位置执行磁盘 I/O 的权限或授权,该服务将无法执行该操作并抛出相关的安全异常。
您的 Windows 服务需要用户名和密码,原因与登录时要求您输入用户名和密码的原因相同。 在 Windows 上识别您并设置您的访问级别和权限。
这不是问题,它应该以这种方式工作。
在ProjectInstaller.Designer.cs
文件中添加这一行。
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.