【发布时间】:2011-06-06 13:03:23
【问题描述】:
根据这篇文章: http://msdn.microsoft.com/en-us/library/ms809975.aspx 您可以在服务中导出组件。
但是是否可以创建多个服务来导出同一组件的不同实例?
我发现一个潜在的问题是在定义 \HKEY_CLASSES_ROOT\AppID\\LocalService 时,因为每个服务都有不同的名称,我不能将它们都放在同一个键中。
谢谢
【问题讨论】:
根据这篇文章: http://msdn.microsoft.com/en-us/library/ms809975.aspx 您可以在服务中导出组件。
但是是否可以创建多个服务来导出同一组件的不同实例?
我发现一个潜在的问题是在定义 \HKEY_CLASSES_ROOT\AppID\\LocalService 时,因为每个服务都有不同的名称,我不能将它们都放在同一个键中。
谢谢
【问题讨论】:
在链接的文章中非常明确地提到:
不要使用 REGCLS_SINGLEUSE。 如果你使用这个注册失败 旗帜。操作系统允许一个 服务的单个实例。为了这 原因,COM 组件必须是 可供多个客户使用 同时。
如果您想要多个实例,您必须使用常规的进程外服务器。
【讨论】:
The class is configured to run as a security id different from the caller。然后我将 \HKEY_CLASSES_ROOT\AppID\{CLSID}\LocalService 重命名为第一个服务的名称,启动它并将其重命名为第二个服务的名称,然后启动第二个服务,它就可以工作了。
【讨论】: