编写、发布安全的ActiveX控件
一、指出ActiveX控件对于脚本与数据初始化是安全的
1. 将下行添加到组件的继承列表的末尾:

2. 将下行添加到COM 映射:

二、电子签名
可使用 MAKECERT 和 CERT2SPC 实用工具生成测试 Software Publisher Certificate。请注意,此测试 SPC 对软件发布无效,但可用于测试代码签名。
1. 创建证书文件:
2. 转换cer格式为spc格式:

3. 给cab文件签名

4. 在web页上嵌套入签名的CAB文件







CODEBASE 也可以直接指向 OCX 或 DLL 文件:
三、创建CAB文件(摘录自MSDN)
1. 创建INF文件
























其中“thiscab”是一个关键字,表示 CAB 包含此 DLL,也可通过指定一条绝对或相对路径,从一个 HTTP 位置下载所需的 DLL,例如:

关键字“file-win32-x86”将平台标识为 x86 特定的。
可通过在 Windows 资源管理器中的文件上单击鼠标右键来获取文件的版本号。从显示的列表中选择“属性”,然后在显示的对话框中选择“版本”选项卡。有时需要在文件版本中额外插入一个 0。例如,在对话框中 ATL.DLL 的版本号显示为 2.00.7024。而在 INF 文件中,这变为 2, 00, 0, 7024。
“DestDir”是将要加载文件的目录所在的位置:11 指定系统目录为 WINDOWS/SYSTEM 或 WINNT/SYSTEM32;10 指定 Windows 目录、WINDOWS 或 WINNT。如果未指定任何 DestDir(典型情况),则代码安装在固定的 OCCACHE 目录中。
“clsid”是将要安装的控件的 CLSID。
2. 创建CAB文件
创建了 INF 文件后,运行 CABARC 实用工具以创建 CAB 文件。应在包含源文件的目录下运行 CABARC。在命令行上,按源文件出现在 INF 中的顺序排列它们,并将 INF 文件放在最后。例如:
应在包含源文件(INF、OCX 和 DLL 文件)的目录下运行 CABARC。将在 CAB 文件中存档的文件应该按它们在 INF 文件中列出的同一顺序在命令行中列出。在上面的示例中,INF 文件应该将 NEEDED1.DLL 列在第一位,接下来是 NEEDED2.DLL,然后是 MYCTL.OCX。
-s 选项在压缩文件中保留用于代码签名的空间。n 命令指定希望创建 CAB 文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构