2010-02-05 6 views
48

J'ai développé un service Windows en utilisant C#, visual studio 2008. Windows xp sp2 est installé sur ma machine. Lorsque j'essaie d'installer le service en utilisant l'outil installutil, après avoir entré le nom d'utilisateur et mot de passe, je reçois erreur suivante.Erreur lors de l'installation du service Windows développé dans .Net

Une exception s'est produite pendant la phase d'installation. System.ComponentModel.Win32Exception: le nom du compte est incorrect ou n'existe pas ou le mot de passe n'est pas valide pour le nom du compte spécifié.

Mais l'utilisateur existe. J'ai créé l'utilisateur via le panneau de configuration-> comptes utilisateurs-> créer un nouveau compte. La commande que j'ai utilisée pour installer le service est installutil/i TestService.exe

Je ne parviens pas à résoudre le problème.

Merci à l'avance

Sambha

Répondre

98

Si le compte est un compte d'utilisateur local, essayez d'utiliser .\username lorsque installutil invites pour le nom d'utilisateur et mot de passe.

Le .\ signifie machine locale.

Les services requièrent un nom d'utilisateur complet (avec domaine), donc lors de l'installation, vous devez être explicite sur les comptes d'utilisateurs locaux.

+4

Merci beaucoup. Ça a marché. – Sambha

+0

Je réalise que cette question est ancienne, mais merci beaucoup! Je n'avais pas pensé à ça. – Vivelin

3

Le compte peut également avoir le droit «Ouvrir une session en tant que service»; transmettre la constante SE_SERVICE_LOGON_NAME à l'API LsaAddAccountRights().

1

J'ai résolu cela en changeant ServiceProcessInstaller.Account à LocalSystem. et ses travaux pour moi.

+1

ce n'est pas une réponse ... Il semble comme un commentaire –

+0

changer le compte amy pas être la meilleure solution, mais il est une réponse pas seulement un "commentaire" – Brian

+1

Ce n'est pas une approche recommandée. Le système local a des privilèges étendus sur l'ordinateur; C'est semblable à un administrateur. Voir [cette réponse] (http://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-acco) pour un aperçu des comptes intégrés . –

Questions connexes