在依赖DLL中指定隔离的COM设置还是只执行可执行文件?

时间:2009-09-23 21:21:53

标签: com ocx side-by-side

我正在C ++ VS2005项目中设置Isolated COM项目设置,以使用免注册激活方法加载ocx组件。如果ocx组件也用在我的应用程序加载的DLL库中,我是否还需要在该DLL项目的设置中设置隔离COM设置?或者只设置主应用程序的嵌入式清单就足够了?谢谢!

1 个答案:

答案 0 :(得分:0)

据我了解,隔离是按进程进行的,而不是按模块隔离的。因此,应用程序清单中的任何内容都适用于从该应用程序启动的任何进程。

考虑CoCreateInstance需要做些什么来支持免注册COM - 它需要以某种方式查找清单文件,如果它存在,去注册表获取激活信息

由于CoCreateInstance没有参数告诉它清单的路径,因此需要从上下文中获取它。

.DLL没有真正的上下文,但对于.EXE,当前进程句柄可用于派生可执行文件的路径等,所以我怀疑他们是如何做到的。