2009-05-10 5 views

Répondre

4

Il est trivial de créer un service Windows dans Visual Studio. Je ne peux pas penser à aucune raison pas pour le faire.

+6

Peut-être que vous devez installer quelque chose qui n'a pas été développé en utilisant VS en tant que service? –

+0

Veuillez lire la question. L'OP contrastait en écrivant un service avec SRVANY. –

+2

I * did * lire la question. Vous pouvez créer des services Windows sans utiliser VS, comme avec Delphi par exemple. La question m'a suggéré que le PO envisageait de créer un EXE normal et de l'exécuter en tant que service avec SRVANY.EXE, ou pour créer un service réel en utilisant un projet ou un assistant qui leur permet de le faire dans leur langue/IDE de leur choix. C'est ce que je voulais dire dans ma réponse, ce qui pourrait ne pas être clair maintenant que je l'ai relu. –

4

Avantages: SRVANY est gratuit, existe depuis longtemps (c'est-à-dire stable) et ne nécessite aucun changement de code pour votre application. Inconvénients: SRVANY est un peu désordonné à installer, n'est pas supporté par Microsoft, n'a pas été tenu à jour pour les nouveaux systèmes d'exploitation, peut donner des commentaires trompeurs (peut dire que le service est en cours quand l'application est fermée),

Veuillez consulter notre site Web pour un extensive comparison of SRVANY and our commercial product AlwaysUp, qui exécute n'importe quel exécutable en tant que service Windows. En résumé, je ne voudrais pas crucifier quelqu'un pour utiliser SRVANY dans un environnement de production tant qu'il a été soigneusement testé, mais il devrait certainement lever un sourcil ou deux.

9

De mon expérience personnelle (20 ans): o de développer une application commerciale en cours d'exécution en tant que service:

  • services sont un gâchis pour développer (ne peut pas facilement le code débogage),
  • fastidieux à compiler (doit être signé avec un certificat)
  • facile à installer (devrait aller dans Windows/System32 droite? ou est-ce que SysWow64? .... a l'utilisateur actuel assez de droits pour installer quelque chose dans le système de toute façon?),
  • dangereux à désinstaller (êtes-vous sûr que ce MyTool.exe dans S ystem32 est le vôtre?)

Donc, pour des outils très petits j'ai tendance à développer une application de la console (vous pouvez le démarrer manuellement et avoir une rétroaction visuelle) et de laisser le client décider s'il veut courir en tant que service ou non ...

en fin de compte, je passe moins de temps le développement et l'outil coûte moins cher pour le client;)

+0

Merci pour partager votre expérience! Bons points à considérer. –

+0

[Exécuter le service Windows en tant que programme console] (http://einaregilsson.com/run-windows-service-as-a-console-program/). –

+4

J'ai écrit beaucoup de services Windows sans certificat, ils vont généralement dans "Program Files", pas "Windows". Et si elle se trouve dans son propre répertoire sous Program Files, vous n'avez pas besoin de vous inquiéter de désinstaller la bonne chose. L'indice sur "Environment.UserInteractive" ne fonctionne pas toujours, j'ai trouvé préférable d'installer le service pour exécuter avec une ligne de commande personnalisée qui indique spécifiquement au processus qu'il s'exécute en tant que service. Le seul vrai inconvénient est que si vous le désinstallez, vous ne pouvez parfois pas le réinstaller avec un redémarrage. –

8

une autre option qui pourrait être en valeur un regard (baisse de remplacement SRVANY, mais avec des améliorations):

non -Sucking Service Manager:

http://nssm.cc/

Actif étant maintenu il semble.

Questions connexes