【问题标题】:Prompting username password while installing the windows service in c#在c#中安装windows服务时提示用户名密码
【发布时间】:2009-12-22 10:40:47
【问题描述】:

在安装用 c# 创建的 windows 服务时,系统提示我输入用户名和密码。我使用 installutil 工具来安装我的服务。询问用户名密码凭据的原因是什么?

【问题讨论】:

标签: c# windows-services


【解决方案1】:

如果您不希望您的 Windows 服务提示输入用户名/密码,请转到该服务的Installer Class(Design Mode),然后右键单击ServiceProcessInstaller -> Properties;将Account 设置为Local Service

现在使用installutil 命令。它不会询问用户名/密码。

【讨论】:

  • 谢谢,这就是我要找的!
  • 更多说明,在 Visual Studio 2010 中,您将右键单击“ProjectInstaller.cs”,然后单击“设计器”。然后按照 Satyendra 的其余步骤进行操作。
  • 这是一个很好的答案
  • 如果您这样做,请确保您拥有所需的权限。
  • 我还必须右键单击服务(本地)中的服务并在登录选项卡中设置登录为:“本地系统帐户”。
【解决方案2】:

右键ServiceProcessInstaller文件->进入属性->选择账号为LocalService。

【讨论】:

    【解决方案3】:

    windows 中的每个进程或服务都在特定的 windows 用户帐户下运行。

    用户帐户用作服务或进程执行的任何操作的身份。如果您的进程或服务需要执行任何需要安全权限的任务,则只会根据与该进程/服务关联的用户身份授予它。

    假设您正在运行您的服务 名为“SVCUSER”的用户和服务 需要以任何方式进行磁盘 I/O 磁盘的位置。如果用户 “SVCUSER”没有权利或 执行磁盘 I/O 的授权 给定的位置,服务将 无法执行操作和 抛出相关的安全异常。

    【讨论】:

      【解决方案4】:

      您的 Windows 服务需要用户名和密码,原因与登录时要求您输入用户名和密码的原因相同。识别您并设置您在 Windows 上的访问级别和权限。

      这不是问题,它应该是这样工作的。

      【讨论】:

        【解决方案5】:

        将此行添加到ProjectInstaller.Designer.cs 文件中。

        this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-31
          • 1970-01-01
          相关资源
          最近更新 更多