是否可以使用不同的配置多次运行 Windows 服务(可能复制到多个位置)(例如,如果服务支持命令行参数)?
由于名称必须是唯一的,因此服务似乎只安装一次。
这种情况可能吗?最好的方法是什么?
答案1
这就是“svchost.exe”的基础,只是赋予了不同的服务名称和参数。
答案2
如果您所说的同一服务的多个实例是指同一可执行文件的不同实例,那么当然可以。您只需要在服务表中为其创建多个“服务”条目,并使用不同的名称和不同的命令行选项。
Grizly 似乎在谈论不同的事情,即在相同的进程,通常是 的一个实例svchost.exe
。这就要求它们使用相同的可执行文件,尽管 托管的每个服务svchost
似乎都在Parameters
服务键的子键中指定了一个 DLL 和(可选)一个 ServiceMain 入口点。(当然,svchost.exe
使用细节似乎没有记录下来——可能是为了防止人们试图做一些疯狂的事情,比如将某个版本的 .NET 框架加载到系统关键实例之一中,这最终会导致其他服务试图加载不同的版本的框架合并到同一个框架中,那将会变得一团糟……)