我使用Delphi为客户端服务器应用程序创建了一个Windows服务。
要安装它,我使用
c:\Test\MyService.exe /install (or /uninstall)
这将安装该服务,并在Windows服务中列出“MyService”名称和空说明。
如何定义不同的名称并插入描述(在运行services.msc
时会看到)?
注意: 我需要这个,因为在同一台机器上我需要安装相同服务的次数(每个数据库1个)。
目前我唯一的解决方法是重命名服务exe,但我更愿意找到正确的命令行方式(因为我是从ShellExecute
执行此操作)。
更新:
不知何故,我会寻找类似的东西(这当然只是出于解释原因! - InstallService.exe
是我刚刚发明的名字):
InstallService.exe c:\Test\MyService.exe /install /name='MyService1'
/description='This is my service for database 1'
但是更紧凑的版本会很好:
c:\Test\MyService.exe /install /name='MyService1'
/description='This is my service for database 1'
答案 0 :(得分:13)
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
事件分配处理程序,然后在那里处理交换机。