Установка службы Windows программно

Как я устанавливаю службу Windows программно, не используя installutil.exe?

45
задан Stephen Kennedy 2 February 2018 в 17:25
поделиться

3 ответа

Вы можете установить услугу, добавив этот код (в файле программы, Program.cs), чтобы установить себя при запуске из командной линии с указанными параметрами:

/// <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);
            }
        }
66
ответ дан 26 November 2019 в 21:17
поделиться

Вам может применить некоторые статистические методы здесь, чтобы утюгнуть дисперсию. Попробуйте запускать один и тот же кусок кода 1000 раз, а затем принять среднее время и сравнить это. Симуляции обычно используют некоторые методы для «убирать» числа, и это один из них.

-121--1188773-

Я использую метод из следующей статьи CodeProject, и он отлично работает.

Услуги Windows могут установить себя

11
ответ дан 26 November 2019 в 21:17
поделиться

Я устанавливаю и удалил мою службу Windows через командную строку, например, mywindowsservice.exe -install и mywindowsservice.exe -uninstall , чтобы избежать использования instatherutil.exe . Я написал набор инструкций о том, как это сделать здесь .

4
ответ дан 26 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: