2010-02-05 97 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