【发布时间】:2009-12-22 10:40:47
【问题描述】:
在安装用 c# 创建的 windows 服务时,系统提示我输入用户名和密码。我使用 installutil 工具来安装我的服务。询问用户名密码凭据的原因是什么?
【问题讨论】:
-
这个stackoverflow问题可能是你想要的:stackoverflow.com/questions/140054/…
标签: c# windows-services
在安装用 c# 创建的 windows 服务时,系统提示我输入用户名和密码。我使用 installutil 工具来安装我的服务。询问用户名密码凭据的原因是什么?
【问题讨论】:
标签: c# windows-services
如果您不希望您的 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;
【讨论】: