Bonjours à tous,
J'ai développé un service Windows et je souhaite l'installer. J'ai donc lu le tuto qui va bien mais un problème se pose : lorsque je lance InstallUtil.exe la fenêtre s'ouvre et se ferme directement.
Help !
Bonjours à tous,
J'ai développé un service Windows et je souhaite l'installer. J'ai donc lu le tuto qui va bien mais un problème se pose : lorsque je lance InstallUtil.exe la fenêtre s'ouvre et se ferme directement.
Help !
Bonjour,
Il faut d'abord ouvrir une invite en ligne de commandes (en admin) avant de faire appel à la ligne de commande proprement dite pour voir quelque chose.
Piet
Commande pour installer le service :
Pour désinstaller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part InstallUtil " C:\projets\ServiceMemoire\bin\ServiceMemoire.exe "
Donc tu peux créer 2 .bat à mettre au niveau de InstallUtil.exe pour lancer ces commandes en un double click...
Code : Sélectionner tout - Visualiser dans une fenêtre à part InstallUtil /u " C:\projets\ServiceMemoire\bin\ServiceMemoire.exe "
pourquoi ne pas créer un projet d'installation pour ton windows service ?
lien
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
J'ai bien essayé de créer un setUp mais lorsque j''essaie d'installer le logiciel j'ai droit au message intitulé "Windows start failure" qui m'explique que je ne peut démarrer mon service depuis le debugger ou une ligne de commande...
Du reste, quand je démarre cmd, il se positionne directement sur le bureau, comment fait on pour qu'il aille autre part ? (Oui, vous avez bien lu, j'ai beaucoup de mal avec cette console...)
alors tu peut debougger votre windows service en créant une application console et ajouter le refernce de ton projet windows service et fait un instance de class windows service
et pour l'appel des fonction onstart() et onstop()tu peut creer deux methode public nommé les start();stop();
fait de ton projet console le projet de démarrage .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void start() { OnStart(new String[]); } public void stop() { OnStop(new String[]); }
j’espère être clair
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Ça compile bien , pas d'erreurs à priori...
et ça résout ton problème ?!!
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Voici une autre approche pour tester un service windows sans pour autant créer une autre application (Usage de la constante de compilation DEBUG) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 static class Program { static void Main() { using (Service1 service = new Service1()) { #if DEBUG //Code compilé uniquement en debug //Démarrage en tant qu'application service.Start(); #else //Code compilé uniquement en release //Démarrage en tant que service ServiceBase.Run(service); #endif } } }Pense bien ensuite à déployer la version compilée en "Release" et non "Debug"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public partial class Service1 : ServiceBase { #if DEBUG //Code compilé uniquement en debug public void Start() { OnStart(Environment.GetCommandLineArgs()); } #endif protected override void OnStart(string[] args) { } protected override void OnStop() { } }
Côté installation rien de bien particulier par rapport à ce qui a déjà été dit. Pense bien à faire l'installation "en tant qu'administrateur".
Utilise toujours le fichier installutil.exe qui est dans le dossier du Framework.net (et non une version d'InstallUtil.exe que tu collerais à côté de ton exe pour l'installation) :
C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe
Non, hélas.
Je pense pourtant que mon code est bon, je l'ai testé de différente manière (C'est la première fois que je fais un service donc je peut me tromper).
Quelqu'un aurait une idée de où pourrait être le problème ? (le premier qui répond entre la chaise et l'écran a perdu).
EDIT : j'ai écrit mon message avant que PascalG ne poste, j'essaie son idée.
Merci à tous, opération réussi !
Le problème était aussi que je m’obstinais à essayer avec le framework v1 plutôt que v4...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager