C# 如何继承Windows服务?

C# 如何继承Windows服务?,c#,windows-services,C#,Windows Services,我的项目中有几个Windows服务,有很多通用代码。我想创建一个基本服务。第一部分很简单-我创建了这个类: public abstract class MyServiceBase : ServiceBase { protected abstract override void OnStart(string[] args); } 但是我可以用ProjectInstaller做什么呢?MSDN表示,每个服务都将有一个ProjectInstaller,并包含ServiceInstaller组

我的项目中有几个Windows服务,有很多通用代码。我想创建一个基本服务。第一部分很简单-我创建了这个类:

public abstract class MyServiceBase : ServiceBase
{
    protected abstract override void OnStart(string[] args);
}
但是我可以用
ProjectInstaller
做什么呢?MSDN表示,每个服务都将有一个
ProjectInstaller
,并包含
ServiceInstaller
组件


如何在基类中创建这些,并在派生服务中进行自定义?

请查看此项,除非您希望以传统方式工作。它创建了一个
控制台
.exe
,可以通过这些命令安装
servicename.exe安装
并卸载
servicename.exe卸载

我建议您看看-这是一种更好的开发服务和为您处理安装的方法-“通过引用Topshelf,您的控制台应用程序*成为*服务安装程序“-但每项服务都需要在一个单独的项目中,无论您以何种方式开发它们。我不希望共享安装程序会有多大好处。对于每个服务,您必须指定一个单独的名称、描述以及可能的依赖项。因此,我建议不要为此使用基类。另外:如果这些服务如此相似,那么将它们转换为一个服务可能是值得的。一般来说,我尝试每个解决方案都有一个可交付成果。