Как установить службу windows из командной строки, указав имя и описание?

Я создал службу Windows с Delphi для клиентского серверного приложения.

для его установки я использую

c:TestMyService.exe /install (or /uninstall)

это устанавливает службу и в службах Windows она перечисляет с именем" MyService " и пустым описанием.

как определить другое имя и вставить описание (чтобы увидеть при запуске services.msc)?

Примечание.: Мне это нужно потому, что на той же машине, мне нужно установить еще раз ту же услугу (1 раз в база данных.)

в настоящее время единственным обходным путем является переименование службы exe, но я бы предпочел узнать правильный способ командной строки (так как я делаю это из ShellExecute).

обновление: Как-то я бы искал что-то вроде (это только для объяснения причин, конечно! - InstallService.exe - это название я только что придумал):

InstallService.exe c:TestMyService.exe /install /name='MyService1' 
  /description='This is my service for database 1'

но также более компактная версия была бы прекрасна, как:

c:TestMyService.exe /install /name='MyService1' 
  /description='This is my service for database 1'

1 ответов


Windows уже поставляется с утилитой, которая вам нужна, а именно sc create.

>sc create /?
DESCRIPTION:
        Creates a service entry in the registry and Service Database.
USAGE:
        sc  create [service name] [binPath= ]  ...

OPTIONS:
NOTE: The option name includes the equal sign.
      A space is required between the equal sign and the value.
 type= 
       (default = own)
 start= 
       (default = demand)
 error= 
       (default = normal)
 binPath= 
 group= 
 tag= 
 depend= 
 obj= 
       (default = LocalSystem)
 DisplayName= 
 password= 

это создаст сервис и позволит вам указать имя и отображаемое имя.

изменить описание sc description:

>sc description /?
DESCRIPTION:
        Sets the description string for a service.
USAGE:
        sc  description [service name] [description]

другой очевидный вариант-построить синтаксический анализ командной строки в вашей службе. Это тривиально легко сделать. Просто назначьте обработчики для BeforeInstall и/или AfterInstall события и процессы переключатели там.