possible en double:
How to automatically start your service after install?Démarrage automatique d'un service lorsque le programme d'installation se termine
J'ai un Visual Studio 2008 C# projet d'installation de service .NET 3.5 (MSI) fonctionnant sous Windows 7 x64 .
Je m'inscris à la notification ServiceInstaller.OnAfterInstall
pour démarrer mon service à la fin de l'installation. Bien que la fonction réussisse sans exception, mon service ne fonctionne jamais à la fin du programme d'installation.
Le journal des événements ne montre aucune défaillance liée au démarrage du service et si je me rends au gestionnaire de services, je peux démarrer le service manuellement (ou redémarrer le PC et il démarrera automatiquement).
Que dois-je faire pour démarrer automatiquement mon service une fois le processus d'installation terminé?
Il semble que ce que vous avez fait devrait fonctionner. Astuce possible pour déboguer ceci: Essayez d'insérer un 'Thread.Sleep' avec une valeur de 30 secondes ou plus.Cela peut vous permettre d'attacher un débogueur au processus de service, et vous pouvez définir un point d'arrêt juste après le 'Thread.Sleep'. Une fois que vous êtes en pause dans le débogueur, si vous obtenez toujours des erreurs lors de la reprise, ce n'est pas une question de timing. À ce stade, vous pouvez interroger votre état de service à votre guise et déterminer ce qui cause le problème. Si le 'thread.Sleep' le fait commencer à travailler, il est bien sûr une chose de synchronisation ... –
Vous pouvez également ajouter" System.Diagnostics.Debugger.Launch(); " au début de votre méthode de démarrage pour forcer le débogueur à être attaché, afin que vous puissiez vérifier ce qui ne va pas. Il est possible qu'il y ait une exception quelque part et que votre service s'arrête automatiquement. – user276648