J'ai écrit un service Windows en C #.
Je l'ai depuis installé sur ma machine, et il fonctionne très bien.
Lorsque vous installez un service, le exe
est-il copié quelque part? Ou pointe-t-il vers mon dossier bin
?
C'est pour moi de savoir que lorsque je mets à jour mon code de temps en temps, dois-je désinstaller et réinstaller mon service pour le mettre à jour?
Si l'emplacement du service Windows n'a pas changé et que le nom de son exécutable n'a pas changé, vous ne devriez pas avoir à le désinstaller et à le réinstaller.
Vous pouvez simplement arrêter le service, mettre à jour son exécutable avec une nouvelle version et le redémarrer.
Cette approche a fonctionné de manière fiable pour moi pendant de nombreux mois de développement de services Windows au cours desquels j'ai simplement mis à jour les implémentations des services ServiceBase
, les méthodes privées, etc. et cela permet un développement itératif assez rapide lorsque vous avez net stop
et net start
commandes pour vos services dans l'historique d'une fenêtre de commande Alt+Tab plus, revenir en arrière à travers l'histoire et frapper Enter lorsque vous trouvez la commande dont vous avez besoin.
Vous pouvez vérifier le chemin du service installé en ouvrant services.msc à partir de Exécuter. Cliquez ensuite avec le bouton droit sur votre service et voyez le "Chemin vers l'exécutable".
Si cela pointe vers votre répertoire bin, il sera mis à jour à chaque fois que vous compilez avec succès.
Vous devez désinstaller l'ancien service Windows et installer une nouvelle version du service Windows.
désinstaller:
installutil /u yourproject.exe
installer:
installutil yourproject.exe