Подтвердить что ты не робот

Установка программного обеспечения Windows программно

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

Спасибо

4b9b3361

Ответ 1

Вы можете установить службу, добавив этот код (в файл программы, 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);
            }
        }

Ответ 3

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