64 votes

Erreur dans l'installation du service Windows développé en .NET

J'ai développé un service Windows en utilisant C# et Visual Studio 2008. J'ai Windows XP SP2 installé sur ma machine. Lorsque j'essaie d'installer le service en utilisant le installutil tool, après avoir saisi le nom d'utilisateur et le mot de passe, j'obtiens l'erreur suivante.

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

Mais l'utilisateur existe. J'avais créé l'utilisateur par le biais du panneau de contrôle →. Comptes d'utilisateursCréer un nouveau compte .

La commande que j'ai utilisée pour installer le service était :

installutil /i TestService.exe

Comment puis-je résoudre ce problème ?

136voto

Oded Points 271275

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

El .\ représente la machine locale.

Les services requièrent un nom d'utilisateur pleinement qualifié (avec le domaine). Lors de l'installation, vous devez donc être explicite quant aux comptes d'utilisateurs locaux.

0 votes

Je réalise que cette question est ancienne, mais merci beaucoup ! Je n'y avais pas pensé.

1 votes

Pour clarifier, cela signifie que s'il s'agit d'un utilisateur du domaine, l'utilisation est la suivante domainName\username .

3voto

devstuff Points 5881

Il peut également être nécessaire de donner au compte le droit de "se connecter en tant que service" ; passez l'attribut SE_SERVICE_LOGON_NAME constante à la LsaAddAccountRights() API.

-1voto

Deep Points 21

J'ai résolu ce problème en modifiant ServiceProcessInstaller.Compte a LocalSystem et ça marche pour moi.

3 votes

Ce n'est pas une réponse... Cela ressemble à un commentaire

1 votes

Changer de compte n'est peut-être pas la meilleure solution, mais c'est une réponse et non un simple "commentaire".

1 votes

Cette approche n'est pas recommandée. Le système local dispose de privilèges étendus sur l'ordinateur ; il est similaire à un administrateur. Voir cette réponse pour un aperçu des comptes intégrés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X