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

Как изменить имя моей службы Windows?

У меня есть служба Windows и вы хотите изменить ее имя (как показано в приложении "Службы" ). Но я не знаю, как правильно это сделать. Кажется, это свойство ServiceName и поиск по моему решению. Я нашел это:

namespace SI.AService.AService
{
    partial class AService
    {
        /// <summary> 
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary> 
        /// Required method for Designer support - do not modify 
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            // 
            // AService
            // 
            this.ServiceName = "Company.AService.AService";

        }

        #endregion
    }
}

Итак, это, кажется, автогенерированный код. Каков правильный способ его изменения? В нем говорится: "Не изменяйте содержимое этого метода с помощью редактора кода". Итак, где я могу его изменить?

Обновление: Я обновлял свою службу Windows через процесс сборки в Visual Studio, что, по-видимому, не влияет на изменения имен, установленные в установщике служб. Я думаю, что он запускает команду удаления и установки с помощью InstallUtil. Вместо этого мне пришлось перейти в выходной каталог процесса сборки, где находятся 2 файла. Msi файл и файл setup.exe. Служба msi устанавливает службу, но нет изменений имени. Однако, если я запустил setup.exe, он делает то же самое, но изменения имени в службу включены. Поэтому я предполагаю, что программаinstallinstaller/serviceinstaller включена в файл setup.exe, а не другой.

Наконец, спасибо вам всем за вашу помощь.

4b9b3361

Ответ 1

Вам нужно добавить класс установщика в ваш проект службы Windows. Затем в своем дизайнере вы добавляете ServiceInstaller и ServiceProcessInstaller, в объектах этих двух классов вы можете указать имя службы, отображаемое имя для службы, пользователя и т.д.

Вы можете увидеть подробное объяснение здесь:
http://utkarshpuranik.wordpress.com/2010/06/07/creating-installing-debugging-windows-services/

Ответ 2

Возможно, вы добавили установщика, щелкнув правой кнопкой мыши дизайн вашего класса службы Windows. Если вы это сделали, вы найдете класс ProjectInstaller в своем проекте WindowsService.

Выбрав этот класс ProjectInstaller, вы увидите два установщика в своем дизайнерском представлении → 1.ServiceInstaller1 2.ServiceProcessInstaller1

Щелкните правой кнопкой мыши ServiceInstaller1 и выберите свойства. В окне свойств измените имя службы на имя, которое вы хотите, чтобы предоставить свою услугу.

Надеюсь, что это сработает...

Ответ 3

В Visual Studio 2010 вы можете дважды щелкнуть запись для файла службы в обозревателе решений (с именем "AService" в вашем случае). В окне свойств просто измените запись в "ServiceName".

Ответ 4

Это зависит от способа его установки.

  • Если вы используете SC.EXE, просто измените параметр отображаемого имени
  • Если вы используете ServiceInstaller Class, измените его DisplayName

Ответ 5

в VS2012 и 2015, если вы хотите изменить его в конструкторе VS, дважды щелкните файл своего класса, например. MyCustomService.cs, а затем в режиме проектирования щелкните правой кнопкой мыши и выберите "Свойства".

введите описание изображения здесь

который дает вам возможность визуально изменить имя службы.

введите описание изображения здесь