2010-06-22 4 views
4

J'essaie de déterminer pourquoi un service .Net que je peux installer avec succès sur un grand nombre de machines ne démarre pas sur certaines machines. Lorsque le service est démarré sur ces machines, le service s'arrête instantanément, mes hypothèses sont soit que les utilisateurs n'ont pas les privilèges suffisants pour installer le service ou qu'il y a un problème avec le service; cependant, ces deux conditions sont fausses (le service fonctionne et ils ont des privilèges suffisants).Détermination de la raison pour laquelle un service Windows .net ne démarre pas

Quelles sont les mesures que je devrais prendre pour déterminer la raison pour laquelle le service ne démarre pas?

Modifier

Je compris ce qui était faux grâce à des réponses fournies, voir ma réponse pour ce qui était ma solution.

+0

Puisqu'il s'agit d'un service .Net, la bonne version de .Net est-elle installée? –

+0

oui, voir ma réponse pour ma solution – msarchet

Répondre

3

Je compris cela, grâce à regarder le journal de l'événement @Matthew Clochers et @Ben M.

La question était le service écrit dans le journal des événements au démarrage lors de la connexion à un serveur; cependant, ce journal des événements machine était plein, donc lorsque le service a essayé d'écrire dans le journal des événements, il a échoué, provoquant l'envoi d'une exception qui ne pouvait pas être écrite dans le journal des événements complet.

Par exemple, si vous écrivez dans le journal des événements, assurez-vous qu'il n'est pas plein ou que vous gérez l'exception!

+1

Bonjour msarchet, StackOverflow suit un format de QA par opposition à un format de forum. Si une réponse fournie était suffisante, il est préférable de la marquer comme acceptée - l'affiche appréciera les points de réputation. De même, ajouter une réponse à votre propre question afin de poursuivre la conversation est déconseillé en faveur de la modification de la question initiale et de l'ajout de toute solution que vous avez trouvé vous-même. –

+2

J'ajouterais qu'il est acceptable (pardonnez le jeu de mots) d'ajouter et d'accepter votre propre réponse seulement s'il n'y a pas d'autre réponse qui vous a aidé à résoudre le problème. –

+5

En fait, c'est une pratique acceptable, les réponses fournies n'étaient pas réellement correctes, oui ils m'ont pointé vers la réponse, mais pas la réponse réelle. Meta Messages: http://meta.stackexchange.com/questions/14488/if-i-find-out-my-answer-why-do-i-have-to-wait-2-days-to -accept-it-closed http://meta.stackexchange.com/questions/2800/should-i-ask-questions-i-already-know-the-answer-to-and-answer-them-myself http://meta.stackexchange.com/questions/12513/stack-overflow-should-i-answer-my-own-question-or-not – msarchet

5

Le journal des événements d'application doit contenir des détails sur les exceptions .NET qui se sont produites lors du démarrage du service. Cela peut aider à diagnostiquer le problème.

Vous pouvez également ajouter du code de débogage (ou du code de trace) au démarrage de votre application et utiliser debugview depuis Sysinternals pour voir où il se trouve.

+0

Les messages de service sont stockés dans le journal système. –

+0

Vous m'avez conduit à la bonne réponse merci – msarchet

+0

+1: Vous pouvez également attacher un débogueur au service et le parcourir. –

Questions connexes