从自定义目录中检索本机 ACTIVEX 控件

Retrieving native ACTIVEX control from custom directory

我对 C# active X 部分非常陌生,并且喜欢 MFC,因此可以在其他论坛或问题中重复这个问题。我试了 3 个小时 google 但没有结果。

有一家第三方公司为我们提供了一个原生的 activeX 控件,我们正在我们的 MFC dll 应用程序中使用它。当我在“c:\Windows\Microsoft.NET\Framework\v4.0.30319”文件夹中复制所有第三方提供的 activeX dll 并使用“注册 activeX”时,ActiveX 成功启动并正常工作c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegASM.exe /tlb UseItActiveX.dll" 命令。

现在,我想将我的 MFC dll 发布到市场,因此我需要将第三方 ACTIVEX dll 合并到 MSI 构建中。

限制是,在发布环境中,我必须在 "C:\Program Files\UseIt Software\common" 文件夹中复制 ACTIVEX dll。

那么,如何从 C:\Program Files\UseIt Software\common 文件夹而不是 [=24= 中检索本地 C# ACTIVE_X dll ]"c:\Windows\Microsoft.NET\Framework\v4.0.30319"。

注意:当我在发布环境中复制 c:\Windows\Microsoft.NET\Framework\v4.0.30319 文件夹中的 ACTIVEX dll 时,activeX 控件的所有功能都正常工作.

请指导。

问题已过时。

当它是一个 COM 组件时,它会被注册。并且在此 COM 组件的注册表数据中包含 DLL 的路径。

通常情况下,COM 组件是否驻留并不重要(只要它在搜索路径中的文件夹中包含所有需要的 DLL)。

当 COM 组件注册到 REGSVR32 或 REGASM 时,执行控件所需的所有信息都已放在注册表中,所有程序都可以从注册文件夹中使用它。