50 votes

Installation du service Windows par programme

Comment installer un service Windows par programme sans utiliser installutil.exe?

Merci

72voto

Mark Redman Points 10816

Vous pouvez installer le service en ajoutant ce code (dans le fichier programme, Program.cs) pour s'installer lui-même lorsqu'il est exécuté à partir de la ligne de commande en utilisant les paramètres spécifiés:

 /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main(string[] args)
        {
            if (System.Environment.UserInteractive)
            {

                if (args.Length > 0)
                {
                    switch (args[0])
                    {
                        case "-install":
                            {
                                ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
                                break;
                            }
                        case "-uninstall":
                            {
                                ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
                                break;
                            }
                    }
                }
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] { new MyService() };
                ServiceBase.Run(ServicesToRun);
            }
        }
 

11voto

Dana Holt Points 7150

J'utilise la méthode de l'article CodeProject suivant, et cela fonctionne très bien.

Les services Windows peuvent s'installer

5voto

Matt Davis Points 22019

J'installe et désinstalle mon service Windows via la ligne de commande, par exemple, MyWindowsService.exe -install et MyWindowsService.exe -uninstall , pour éviter d'utiliser moi-même installutil.exe . J'ai écrit un ensemble d'instructions sur la façon de procéder ici .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X