IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Installer un service windows [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut Installer un service windows
    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 !

  2. #2
    Membre régulier Avatar de Piet
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Points : 108
    Points
    108
    Par défaut
    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

  3. #3
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Commande pour installer le service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InstallUtil " C:\projets\ServiceMemoire\bin\ServiceMemoire.exe "
    Pour désinstaller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InstallUtil /u " 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...

  4. #4
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    pourquoi ne pas créer un projet d'installation pour ton windows service ?

    lien

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    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...)

  6. #6
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    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();
    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[]);
    }
    fait de ton projet console le projet de démarrage .
    j’espère être clair

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    Ok, j’essaie ça tout de suite.

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    Ça compile bien , pas d'erreurs à priori...

  9. #9
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    et ça résout ton problème ?!!

  10. #10
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Citation Envoyé par azstar Voir le message
    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
    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
          }
       }
    }
    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() { }
    }
    Pense bien ensuite à déployer la version compilée en "Release" et non "Debug"

    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

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    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.

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    Merci à tous, opération réussi !

    Le problème était aussi que je m’obstinais à essayer avec le framework v1 plutôt que v4...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installer un service Windows codé en Ruby
    Par travisbarker dans le forum Ruby
    Réponses: 1
    Dernier message: 20/04/2009, 09h07
  2. installer un service windows
    Par isoman dans le forum C#
    Réponses: 1
    Dernier message: 12/02/2009, 14h20
  3. Installation 1 service windows
    Par Elwe31 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/05/2008, 10h48
  4. Réponses: 4
    Dernier message: 13/11/2007, 14h46
  5. [G][Service Win.] Installation de service Windows
    Par fatflex dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/08/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo