.Net魔法堂:史上最全的ActiveX开发教程——发布篇

简介:

一、 前言                              

   接着上一篇《.Net魔法堂:史上最全的ActiveX开发教程——开发篇》,本篇讲述如何发布我们的ActiveX。

 

二、废话少讲,马上看步骤!                      

   1. 打包

   C#开发的Activex不像`OCX`那样直接通过`regsvr32.exe`注册,而采用两种方式发布使其运行在浏览器上。
 1. 离线安装:将控件类库打包成MSI安装包,然后在客户端安装。
1.1. 添加安装项目

    

    1.2. 右键“添加”->“项目输出”,选择ActiveX控件为“主输出”

    

     1.3. 双击“解决方案资源管理器”的“检测到的依赖项”下的 Microsoft.NET Framework 并修改“启动条件”下 .NET Framework 的Version为.NET             Framework2.0 

    

     1.4. 修改“主输出来自XXX”的 Register 属性为 vsdrpCOM

     

 

  2. 在线安装:将MSI再封装成CAB包,并将CAB包随应用一同发布,当浏览器访问含该ActiveX控件时就会自动提示安装。
2.1. 定义cab.ddf     

复制代码
.OPTION   EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set MaxDiskSize=CDROM
.Set ReservePerCabinetSize=6144
.Set DiskDirectoryTemplate="."
.Set CompressionType=MSZIP
.Set CompressionLevel=7
.Set CompressionMemory=21
.Set CabinetNameTemplate="自定义CAB文件名.CAB"
"installer.inf"
"打包的msi文件名称.msi"
复制代码

     2.2. 定义installer.inf

复制代码
[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec /i %EXTRACT_DIR%\打包的msi文件名称.msi /qn

[Version]
Signature= "$CHICAGO$"
AdvancedInf=2.0
复制代码

    2.3. 定义makecab.bat

makecab.exe   /f   "cab.ddf"

    2.4. 执行makecab.bat就会生成CAB包

 

  2. 签名

  1. 制作cer证书
使用makecert.exe工具生成cer证书(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)

cmd命令

makecert -r -n "CN=发行者名称" -b 01/01/2012 -e 01/01/2018 -sv 证书文件名称.pvk 证书文件名称.cer

    注意:执行命令后将弹出私钥密码对话框,可以设置或不设置私密。

  2. (可选项)将cer证书转换为spc证书
使用cert2spc.exe工具(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)

cmd命令

cert2spc cer证书文件名.cer spc证书文件名.spc

  3. 将cer证书转换为pfx证书
使用pvk2pfx.exe工具将cer证书转换为pfx证书(PKCS#12证书及私钥)(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)
cmd命令格式:

pvk2pfx /pvk pvk证书文件名.pvk [/pi pvk证书密码] /spc cer或spc证书文件名.cer或spc [/pfx pfx证书名称.pfx] [/po pfx证书的私密] [/f]

说明:
若第一步中,没有设置私钥,那么就`/pi pvk证书密码`就不用填写;
若`/po pfx证书的私密`没有填写,那么pfx证书就使用与pvk证书一样的私钥;
如果存在于-pfx指定的名称相同名称的文件,则需要使用`/f`来覆盖已有的.pfx文件。

示例,cmd:

pvk2pfx /pvk fsgmcc.pvk /pi gmcc123 /spc fsgmcc.cer /pfx fsgmcc.pfx  /f

  4. 通过signtool导入证书到cab的ActiveX文件
signtool是vs2010的AuthentiCode签名工具(使用 PKCS#7标准定义的数据结构生成待签名文件的数字签名,并加入到待签名文件的PE结构中即可)。

cmd命令

signtool sign -f pfx证书文件名.pfx [-p pfx密码] ActiveX控件文件.CAB

示例:

signtool sign -f fsgmcc.pfx DirBrowser.CAB

 

三、总结                              

  这时ActiveX的发布工作已经完成,接下来请期待《.Net魔法堂:史上最全的ActiveX开发教程——部署篇》吧!

  尊重原创,转载时请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3823402.html ^_^肥仔John

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!

本文转自^_^肥仔John博客园博客,原文链接:http://www.cnblogs.com/fsjohnhuang/p/3823402.html,如需转载请自行联系原作者


相关文章
|
1月前
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
11天前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
65 18
|
11天前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
45 12
|
9天前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
|
9天前
|
Web App开发 前端开发 调度
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
|
9天前
|
前端开发 JavaScript C#
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
|
9天前
|
网络协议 C#
基于.NET WinForm开发的一款硬件及协议通讯工具
基于.NET WinForm开发的一款硬件及协议通讯工具
|
9天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
2月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
49 4
|
4月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
51 7