2010-02-05 94 views
48

我开发了一个使用C#,visual studio 2008的windows服务。我在我的机器上安装了windows xp sp2。当我尝试使用installutil工具安装服务时,输入用户名和密码后,出现以下错误。在.Net中开发的安装Windows服务的错误

安装阶段发生异常。 System.ComponentModel.Win32Exception:该帐户名称无效或不存在,或者该密码对指定的帐户名称无效。

但是用户确实存在。我通过控制面板 - >用户帐户 - >创建新帐户创建了用户。 我用来安装服务的命令是installutil/i TestService.exe

我无法解决问题。

由于提前

Sambha

回答

98

如果该帐户是本地用户帐户,尝试使用.\username时installutil用户名和密码的提示。

.\代表本地机器。

服务需要一个完全合格的用户名(有域名),所以安装时需要明确地说明本地用户帐户。

+4

非常感谢。有效。 – Sambha 2010-02-06 10:32:16

+0

我意识到这个问题是旧的,但非常感谢!没有想到这一点。 – Vivelin 2010-12-23 21:18:45

3

该帐户可能还需要被授予“作为服务登录”帐户权限;将SE_SERVICE_LOGON_NAME常数传递给LsaAddAccountRights() API。

1

我通过将ServiceProcessInstaller.Account更改为LocalSystem来解决此问题。和它的作品。

+1

这不是一个答案...这似乎是一个评论 – 2014-01-16 08:19:16

+0

更改帐户是不是最好的解决方案,但它不仅仅是一个“评论”的答案 – Brian 2014-01-28 17:33:15

+1

这不是一个推荐的方法。本地系统在计算机上拥有广泛的权限;它类似于管理员。请参阅[本答案](http://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-acco)了解内置帐户的概述。 – 2016-01-14 22:14:39