c++ - 如何准备 ActiveX 控件以通过 Web 交付

标签 c++ com mfc activex

所以我不幸地将我们创建的这个专有 ActiveX 控件嵌入到网页中,以便它从我们的服务器下载代码并在必要时安装。

我们的 ActiveX 需要许多其他文件,这些文件需要与 activex 控件本身一起安装。还应注意,activex 及其所有依赖项都是基于 c++ 的 COM 对象(许多使用 MFC)。

所以我读了这篇关于它的文章:
http://msdn.microsoft.com/en-us/library/aa751974(VS.85).aspx

但它留下了很多 Unresolved 问题。一方面,我的 ActiveX 实际上嵌入在包含其他 COM 接口(interface)的 DLL 文件中。另外,如果 GUID 不存在,是否可以让提到的 cab 文件包含 ActiveX/SDK 安装程序并运行它?例如:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
Setup.exe=Setup.exe

[Setup.exe]
file-win32-x86=thiscab
run=%EXTRACT_DIR%\Setup.exe

安全在这里不是问题,因为这是一个基于内部网的解决方案(不公开提供)。

此外,这里提到的文章似乎真的很旧。是否有更多最新信息可用?

最佳答案

您可以像这样在安装程序和系统上的 dll 之间创建依赖关系:

[Add.Code]  
Your-dll-name  

[Your-dll-name]  
Version=Your dll version  
hook=setup.exe  

[Setup.exe]  
file-win32-x86=thiscab  
run=%EXTRACT_DIR%\Setup.exe 

如果系统找不到你的dll或者版本较低,那么它会运行setup.exe来安装和注册dll。

关于c++ - 如何准备 ActiveX 控件以通过 Web 交付,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494423/

相关文章:

c++ - 如何更改 MFC 对话框中显示的按钮的标题

c++ - 为什么 WinDbg 作为 C++ 应用程序崩溃的默认应用程序打开?

c++ - 为什么静态成员函数不能有 cv 限定符?

c# - 将事件处理程序附加到 Com 事件 : InvalidOperationException (S7-PLCSIM)

c# - 从非托管代码获取 COM 对象

c++ - 使用 MFC 的表/网格

c++ - 在下图中找到节点之间的最短距离

c++ - 使用 fmt 动态格式化规范的解决方法

c# - C# COM DLL 中的 ManagementObject 泄漏

c++ - win7 + vc7.1 + mfc = 计算器