.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



目录
相关文章
|
4月前
|
定位技术 C#
.NET微信网页开发相关文章教程
.NET微信网页开发相关文章教程
|
4月前
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。
|
8月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(完:内附源码)
经过一段时间的准备,【ASP.NET Core MVC开发实战之商城系统】已经完成,目前代码已开发完成,先将全部内容整理分享,如有不足之处,还请指正。
106 0
|
SQL 开发框架 前端开发
Asp.net core项目实战 新闻网站+后台 源码、设计原理、视频教程
Asp.net core项目实战 新闻网站+后台 源码、设计原理、视频教程
304 0
Asp.net core项目实战 新闻网站+后台 源码、设计原理、视频教程
|
容器
一起谈.NET技术,Silverlight 游戏开发小技巧:技能冷却效果2(Cooldown)2
  可能会奇怪为什么有来一个第2号版本,其实,这是改进版本,而这个改进版本实现起来更加容易,更加方便,但是问题也是很明显的,因为会加上一个100多KB的DLL,对于网页游戏来说,任何1KB都是宝贵的资源,就为了这个小效果而平白无故增加XAP的容量,也验证了有得必有失道理,鱼与熊掌应该如何取舍呢,先来看看这个实现方式吧。
928 0
|
Web App开发 C# 开发工具
一起谈.NET技术,Silverlight 4.0发布之际,让我们重新再认识一次Silverlight这位乱世英雄!
  Microsoft Silverlight是微软所发展的 Web 前端应用程序开发解决方案,是微软丰富型互联网应用程序Rich Internet Application(简称RIA)策略的主要应用程序开发平台之一,以浏览器插件形式,提供 Web 应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案,同时它也是微软 UX(用户体验)策略中的一环。
1442 0

相关实验场景

更多