我怎样才能改变一个Windows服务的名称?

我有一个在C#中开发的Windows服务应用程序。 相同的服务需要运行不同的configuration文件。 要在同一台机器上运行这些,我需要更改服务的名称。 我可以创build解决scheme的多个副本,但不知道如何更改服务的名称。

谢谢

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

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

使用像SC.EXE这样的工具来配置服务可能会更好,以避免造成注册表编辑错误的问题。 虽然SC不能重命名服务,但它确实允许您删除和创建服务(只要确保所有设置都正确!)。

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