【问题标题】:How can I change the name of a windows service?如何更改 Windows 服务的名称?
【发布时间】:2011-04-22 16:35:48
【问题描述】:

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

谢谢

【问题讨论】:

    标签: c# windows windows-services


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 对不起,如果我的问题有点混乱......我想在解决方案本身中更改服务的名称。怎么办?
    【解决方案3】:

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

    【讨论】:

    • 此外,EventLog 中出现的名称是在 Service 设计模式本身中通过属性 ServiceName 设置的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2016-05-03
    • 2021-04-25
    相关资源
    最近更新 更多