我的问题与下面的问题基本相同,但答案对我没有帮助。
.NET Windows Service - multiple services in one project
基本上,我有3个服务,比如说“Service1”,“Service”和“Service3”。
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1("Service1"),
new Service2("Service2"),
new Service3("Service3")
};
ServiceBase.Run(ServicesToRun);
我也有相应的安装程序类 serviceInstaller.ServiceName =“ServiceX”,用于这些服务。
当我使用installutil时,我确实看到了服务管理器上的所有3个服务。但是,当我启动它们(其中任何一个或全部)时,只有第一个(“Service1”)正在运行。
我知道这是微不足道的,我可能会为这些中的每一个都安装不同的安装程序项目,但在我的情况下,在语义上只使用一个
更有意义感谢您的帮助
由于 VENU
答案 0 :(得分:22)
我创建了一个3服务项目(下面),它为每个服务使用项目安装程序。然后我添加了一个安装程序项目,将服务安装到服务管理器中。这是我的工作流程:
这为我提供了服务管理器中的三种不同服务:Service1,Service2和Service3
http://code.google.com/p/multi-service-install/
我更新了存储库中的代码,只有一个可执行文件但有两个服务。每个服务都以自己的名称和启动/停止的能力安装到服务管理器。我想这就是你想要的,对吗?这是我做的:
仍然可以从上面的链接下载代码。
谢谢!