Windows n'a pas pu démarrer le service sur Win Server 2008 R2 SP1 (erreur 1053)
Ce problème semble être largement discutée, mais j'ai des problèmes à trouver la solution dans mon cas particulier.
Mon service est configuré pour s'exécuter sous Local System
compte. Sur ma première machine avec Windows 7 SP1 (64 bits) installé, tout fonctionne comme prévu. Mais, juste après que j'ai essayer de démarrer le service sur ma deuxième machine avec Windows Server 2008 R2 SP1 (64 bits)pas même une seconde passe, et je suis face à cette fâcheuse erreur:
Windows could not start the ProService service on Local Computer
Error 1053: The service did not respond to the start or control request in a timely fashion
La System Log
montre 2 entrées:
The ProService service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
et:
A timeout was reached (30000 milliseconds) while waiting for the ProService service to connect.
La mise en œuvre des looks suivants:
Programme.cs:
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomainUnhandledException;
ServiceBase.Run(new ServiceBase[] { new ProService() });
}
static void CurrentDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e != null && e.ExceptionObject != null)
{
Logger.Record(e.ExceptionObject);
}
}
ProService.cs:
public ProService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
RequestAdditionalTime(10000);
FireStarter.Instance.Execute();
}
catch (Exception e)
{
Logger.Record(e);
throw;
}
}
La OnStart
méthode est de commencer un nouveau thread, il prend presque PAS de temps de charge d'exécuter. J'ai utilisé RequestAdditionalTime
déclaration juste au cas où - pour rejeter cette affaire, en tant que source de mon problème. En outre, comme vous pouvez le voir, je suis à gérer toutes les exceptions, mais aucune exception n'est écrit à mon service personnalisé journal des événements pendant le démarrage (btw: la journalisation est de travailler sur le premier win7 machine). Comment enquêter sur ce qui se passe ?
source d'informationauteur jwaliszko
Vous devez vous connecter pour publier un commentaire.
J'ai compris ce qui se passait en quelques étapes:
OnStart
méthode de service.J'ai comparé les 2 configs de service, et d'origine de l'application de la console. En conséquence, j'ai trouvé quelques différences. Entre autres, il y avait une entrée de la source du problème (après le retrait, tout fonctionne):
Donc en gros, j'ai eu de la date du fichier de configuration. Auparavant, le service a été compilée sous .NET 4.5, puis j'ai changé le cadre de 4.0 et déployé des fichiers sur le serveur, mais à gauche le fichier de configuration précédent (j'ai changé le framework cible parce que ma machine de développement .NET 4.5 tandis que le serveur ne fonctionne pas). Je n'aurais pas pensé que l'montré lignes masquer tous les problèmes, sans les renseignements raisonnables, ce qui pourrait aider à suivre le désordre.
Vérifier les dépendances manquantes/Dll.
Si vous ne l'avez pas déjà fait, permettez à votre service pour être invoquée comme une application classique (une grande technique à long terme de débogage) et voir si il démarre correctement sur votre Windows 2008 de la machine.
Si les travaux de cette façon, alors il y a peut être un problème avec l'exécution dans le compte LocalSystem. Se déplacer à partir de votre application à partir d'une invite de commande en cours d'exécution dans le compte LocalSystem (exemple d'installation ici).
J'ai essayé le correctif suivant qui a été fourni à ce lien
Cliquez sur Démarrer, cliquez sur Exécuter, tapez regedit, puis cliquez sur OK.
Recherchez et cliquez ensuite la sous-clé de registre suivante:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Remarque Si le ServicesPipeTimeout entrée n'existe pas, vous devez la créer. Pour ce faire, procédez comme suit:
un. Dans le menu Edition, pointez sur Nouveau et puis cliquez sur Valeur DWORD.
b. Type ServicesPipeTimeout, puis appuyez sur ENTRÉE.
Cette valeur représente le temps (en millisecondes avant d'un temps de service.
Mais encore j'ai eu le problème pour démarrer le service.
Le correctif qui a fonctionné pour moi a été,
J'ai essayé les étapes ci-dessous. Il a travaillé comme un charme.
1.Allez les services.msc
2.Double-cliquez sur le service que vous essayez de démarrer.
3.Prendre l'Onglet Connexion
4.Changé de Journal: compte Système Local.
5.Essayé de démarrer le service après cette modification.(Encore donné l'erreur 1053)
6.A pris le Journal sur l'onglet nouveau, changé de Service de Réseau (a donné un nouveau mot de passe aléatoire)
7.Essayé de commencer à nouveau le service.(Le démarrage du service parfaitement)
Mais je veux juste savoir ce qui va être la question.
Après l'installation du service, j'ai donné l'autorisation contrôle total(tout le monde) pour le dossier d'installation. Ensuite, mon service a commencé perfectaly.