如何更改Windows服务的名称?

时间:2010-10-08 03:01:58

标签: c# windows windows-services

我有一个用C#开发的Windows服务应用程序。需要使用不同的配置文件运行相同的服务。要在同一台机器上运行这些,我需要更改服务的名称。我可以创建解决方案的多个副本,但不确定如何更改服务的名称。

由于

3 个答案:

答案 0 :(得分:12)

在从ServiceBase派生的win服务类中,有一个可以继承的属性,可以设置为ServiceName。您可以创建app.config,添加服务名称的设置,并让您的win服务类相应地分配该属性。这样,只要您更改app.config中的设置,每个服务名称都将是唯一的。

答案 1 :(得分:3)

也可以通过 ProjectInstaller 设计模式编辑服务名称。 ServiceInstaller 中有一个名为 ServiceName 的属性。

答案 2 :(得分:2)

Windows服务的配置存储在注册表中 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services ... 您可能想要更改密钥的名称(“文件夹”,以及此处服务的真实姓名)和值“显示名称”。

use a tool like SC.EXE to configure services可能更好,以避免导致错误的注册表编辑问题。虽然SC无法重命名服务,但它确实允许您删除和创建服务(只需确保正确设置所有设置!)。