如何创建Windows服务的多个实例?

Sid*_*rth 3 .net windows-services

我想运行服务器上安装的Windows Service的多个实例,而无需再次安装它。

这怎么可能?

Mar*_*ell 5

服务“安装”实际上只是在名称,可执行文件和其他一些元数据之间添加映射。安装后,服务正在运行(一次),或者没有运行。要使多个实例作为服务运行,必须使用不同的名称注册它们,这基本上意味着需要多次安装。这确实,但是,意味着你需要可执行文件的多个不同的副本。

我这样做的方式是对子类进行子类化Installer,以使其创建ServiceInstallerServiceProcessInstaller,并ServiceName(在运行时通过自定义安装程序)为ServiceInstaller实例提供实例,然后ManagedInstallerClass在运行时使用-基本上使独立的exe能够作为服务安装和卸载自身(根据需要多次),使用命令行参数指定名称。

  • 这里有更多细节。有用的东西。http://journalofasoftwaredev.wordpress.com/2008/07/16/multiple-instances-of-same-windows-service/ (2认同)