`
hzhui
  • 浏览: 61258 次
  • 性别: Icon_minigender_1
  • 来自: 广东河源
最近访客 更多访客>>
社区版块
存档分类

ActiveX控件打包成Cab置于网页中自动下载安装

    博客分类:
  • J2EE
阅读更多

  [背景]

       做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具里面运行regsvr32 test.ocx命令进行注册。但如果真是这么去做的话,那么代表着你处于危险之中了,因为您是通过让用户自己去部署设置环境来达到你的目的,这就失去软件项目本身所存在的价值。那么面对这种情况,我们应该如何解决呢?聪明的你一定会很快就想到,我们可以使用户在客户端自动下载安装该ActiveX控件,这样一来即可以实现我们所想要的功能,又不需要用户自己去部署设置环境,这岂不是一举两得。

[必备条件]

一、用于将ActiveX控件进行打包并加数据鉴名的工具集:

makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥和公钥。

cert2spc.exe  cer格式证书转换成spc格式证书,即PKCS #7证书。

cabarc.exe   ocx打包成cab

signcode.exe 将证书签署到ocx上去。

chktrust.exe  检查签署证书后的ocx是否正确。

certmgr.exe  是管理证书用的。

<o:p> </o:p>

二、用于进行打包用的ocx控件evS1300.ocx

三、用于查看ocx控件的工具ActvxDoc

[制作过程]

一、环境设置

1、下载makeCAB包,解压到本地目录(如E盘根目录),如查看到如图1所示的工具集,则表示已下载成功:

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>

(1makeCAB包的工具集)

       2、设置系统环境变量,右键单击“我的电脑”à选择“属性”à选择“高级”选项卡,打开如图2所示的系统属性面版块:

(2:系统属性版块)

       3、在系统属性版块里单击“环境变量(N)”按钮,打开图3

(3:系统变量)

       4、选择“系统变量(S)”里的“新建(W)”按钮,打开“编辑系统变量”对话框,如图4所示,然后在“变量值(V)”里加入“;E\makeCAB”:

(4:编辑系统变量)

<o:p></o:p>

<o:p> </o:p>

二、将用于打包的OCX控件放在E盘根目录下(本文档使用名为evS1300.ocx的控件来进行介绍),如图5所示,其中evS1300.ocx是本文档进行操作的控件对象,而mfc71.dllmsvcp71.dllmsvcr71.dll这三个文件通常是进行打包时一并打包的文件,但不是必须(推荐一起打包),其可在系统中的system32目录下找到,请自行准备。

(5;用于操作的OCX控件路径)

<o:p> </o:p>

三、ActiveX发布步骤

1、单击“开始”à“动行(R)”à输入“cmdà回车à进入到操作的控件所在的目录,如图6所示:

(6:进入E:\evS1300目录)

2创建PVK文件(私人密匙文件),在命令行中输入“makecert -sk evS1300 evS1300.pvk -n CN=XXXXXXX公司,然后回车,如图7所示:

(7创建PVK文件)

       3、创建CER文件(公司证书)在命令行中输入“makecert -sk evS1300.pvk evS1300.cer”,然后回车,如图8所示,若出现“Successed”提示,则会在E:\evS1300目录下生成evS1300.cer文件,如图9所示:

<v:shape id="_x0000_i1037" style="WIDTH: 414.75pt; HEIGHT: 271.5pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\03\clip_image015.png"></v:imagedata></v:shape>

(8:创建CER文件)

<o:p> </o:p>

<v:shape id="_x0000_i1038" style="WIDTH: 415.5pt; HEIGHT: 279pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\03\clip_image017.png"></v:imagedata></v:shape>

(9:生成evS1300.cer)

<o:p></o:p>

       4、创建SPC测试软件出版商证明书,在命令行中输入“cert2spc evS1300.cer evS1300.spc”,然后回车,如图10所示:

(图10:创建SPC测试软件出版商证明书)

<o:p></o:p>

       5、创建INF文件,用记录本编辑以下信息

  1. [version]   
  2. signature="$CHINA$"  
  3. AdvancedINF=1.0  
  4.   
  5. [Add.Code]   
  6. evS1300.ocx=evS1300.ocx   
  7. msvcr71.dll=msvcr71.dll   
  8. mfc71.dll=mfc71.dll   
  9. msvcp71.dll=msvcp71.dll   
  10.   
  11. [evS1300.ocx]   
  12. file=thiscab   
  13. clsid={0440906E-9BD6-4F3E-B65A-39E1B339D9DA}   
  14. FileVersion=1,0,0,0  
  15. RegisterServer=yes   
  16.   
  17. [msvcr71.dll]   
  18. file-win32-x86=thiscab   
  19. RegisterServer=no   
  20. DestDir=11  
  21. FileVersion=7,10,3052,4  
  22.   
  23. [mfc71.dll]   
  24. file-win32-x86=thiscab   
  25. RegisterServer=no   
  26. DestDir=11  
  27. FileVersion=7,10,3077,0  
  28.   
  29. [msvcp71.dll]   
  30. file-win32-x86=thiscab   
  31. RegisterServer=no   
  32. DestDir=11  
  33. FileVersion=7,10,3077,0  

     如图11所示,并保存为E:\evS1300\evS1300.inf,如图12所示

 

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 328.5pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>

(11evS1300.inf)

<o:p> </o:p>

(12:保存evS1300.inf)

       evS1300.inf的内容里,[version][Add.Code]项是必须的,[Add.Code]的键值项的多少取决于以下你所配制项的多少。[msvcr71.dll][mfc71.dll][msvcp71.dll]就是上面我所说不是必须的项,只要你想把msvcr71.dllmfc71.dllmsvcp71.dll包括在发布包里,那这么三项就必须写在inf里,而这三项的具体内容是固定的,可复制过去即可。最为关键的就是[evS1300.ocx]项,其中有clsidFileVersion就是evS1300.ocxclassIdversion,这要求必须一至,否我们发布出去的CAB包时不能在客户端自动更新下载安装。说到这里,那我们如何才能知道evS1300.ocx里面的classIdversion呢?我在上面的必备条件里介绍到有一个用于查看ocx控件的工具ActvxDoc,对,就是用它,我们双击这个文件运行它,此时可以看到图13所示的界面:<o:p></o:p>

(13ActiveX Documenter)

在图13的界面里,点击“FileàOpen…”,打开您所要查看的OCX控件,如图14所示:

(14:打开控件)

打开了控件之后,我们在界面的右边部位“Class”的下拉框里选择“<all interfaces=""></all>”就可以看到我们想要查找的FileVersionclassId,如图15所示:

(图15:控件属性)

       6、创建CAB文件,在命令行中输入“cabarc -s 6144 n evS1300.cab msvcr71.dll mfc71.dll msvcp71.dll evS1300.ocx evS1300.inf”,然后回车,如图16所示:

<o:p> </o:p>

<o:p> </o:p>

(图16:创建CAB文件)

       7、使用Code Signing Wizard签署一个CAB文件,首先双击运行工具集里面的signcode.exe(或在命令行里直接输入“signcode”后回车),系统会弹出如图17所示的数字签名向导:

(图17:数字签名向导)

 

       8、单击“下一步(N)”按钮,来到图18所示,选择要进行数字签名的且已做成CAB包的文件evS1300.cab文件。

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1027" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>

(18:选择CAB)

分享到:
评论
6 楼 edzhh 2008-04-16  
这个是好东西,谢谢楼主.
5 楼 ansili 2008-01-04  
. 好. 谢谢LZ
4 楼 xzzhouhu 2007-11-09  
3 楼 mfc42d 2007-09-22  
基本错误。pkcs #7的私钥密码呢,没有CA如何认证
2 楼 Seto 2007-08-21  
这与Seam都不相关,帖在这什么用的?而且还要自己回复了一模一样的,至少把那条重复的评论删除吧
1 楼 hzhui 2007-08-17  
  <span lang='EN-US'>9</span><span style=''>、选择好</span><span lang='EN-US'>CAB</span><span style=''>包后单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮,在选择想要的签名类型里选择“自定议(</span><u><span lang='EN-US'>C</span></u><span style=''>)”并单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮,如图</span><span lang='EN-US'>19</span><span style=''>所示:</span>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1027" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4533/69c3ebff-e759-4267-85e4-02e8a6ba5b30.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>19</span><span style=''>:选择签名类型)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>10</span><span style=''>、接下来单击“从文件选择(</span><u><span lang='EN-US'>F</span></u><span style=''>)”按钮,选择刚刚制作的</span><span lang='EN-US'>evS1300.cer</span><span style=''>,如图</span><span lang='EN-US'>20</span><span style=''>所示:</span></p>
<p class='MsoNormal'><span lang='EN-US'>&lt;o:p&gt; &lt;/o:p&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1028" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4534/e2394845-c7e0-495e-8d94-ea5fa090230f.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>20</span><span style=''>:选择</span><span lang='EN-US'>CER</span><span style=''>证书)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>11</span><span style=''>、在图</span><span lang='EN-US'>20</span><span style=''>中单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮来到图</span><span lang='EN-US'>21</span><span style=''>,然后在图</span><span lang='EN-US'>21</span><span style=''>里选择“</span><span lang='EN-US'>CSP</span><span style=''>中的私钥(</span><u><span lang='EN-US'>K</span></u><span style=''>)”。</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1029" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4536/06a9966e-965a-4d3d-beed-07c45700f4c2.jpg' alt=''/>&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>21</span><span style=''>:选择私钥的位置)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>12</span><span style=''>、在图</span><span lang='EN-US'>21</span><span style=''>中单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮,然后在图</span><span lang='EN-US'>22</span><span style=''>中的散列算法中选择“</span><span lang='EN-US'>shal</span><span style=''>”,并单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮。</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1030" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image007.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4827/651f6189-e1a2-4992-aa10-dc8ad5d49d2e.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>22</span><span style=''>:选择散列算法)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>13</span><span style=''>、在“证书路径中的证书”中选择“证书路径中的所有证书,包括根证书(</span><u><span lang='EN-US'>C</span></u><span style=''>)”,在“其它证书(可选)”中选择“包括在以下</span><span lang='EN-US'>PKCS #7 </span><span style=''>证书(</span><span lang='EN-US'>.p7b</span><span style=''>)文件中的证书(</span><u><span lang='EN-US'>P</span></u><span style=''>):”,并单击“浏览(</span><u><span lang='EN-US'>R</span></u><span style=''>)</span><span lang='EN-US'>…</span><span style=''>”按钮选择</span><span lang='EN-US'>evS1300.spc</span><span style=''>文件,选择完后单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮,如图</span><span lang='EN-US'>23</span><span style=''>所示:</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1031" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image009.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4537/0bb56d60-ee36-4b3b-9d28-2e2ea9253a15.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>23</span><span style=''>:选择其它证书)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>14</span><span style=''>、接下来在弹出的“数据描述”窗口中输入公司的名称和网址并单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮,如图</span><span lang='EN-US'>24</span><span style=''>所示:</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1032" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image011.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4539/703e9fcd-7023-40b5-a650-1df03ecc0c79.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>24</span><span style=''>:输入数据描述)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>15</span><span style=''>、现大部份工作都已完成,在接下来的一步当中是可选的操作,其作用只是为</span><span lang='EN-US'>CAB</span><span style=''>加入时间戳,此步骤完全可以不做,如图</span><span lang='EN-US'>25</span><span style=''>所示:</span></p>
<p class='MsoNormal'><span style=''>(这里我提拱三个免费的代码签名时间戳地址)</span></p>
<p class='MsoNormal'><span lang='EN-US'>VeriSign:<span style=''>  </span>http://timestamp.verisign.com/scripts/timstamp.dll</span></p>
<p class='MsoNormal'><span lang='EN-US'>Comodo:<span style=''>  </span>http://timestamp.comodoca.com/authenticode</span></p>
<p class='MsoNormal'><span lang='EN-US'>GeoTrust/TrustCenter: <a href='http://www.trustcenter.de/codesigning/timestamp'>http://www.trustcenter.de/codesigning/timestamp</a></span></p>
<p class='MsoNormal'><span lang='EN-US'>&lt;o:p&gt; &lt;/o:p&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1033" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image013.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4828/c8351412-9778-4483-a24b-8e91f5f589eb.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>25</span><span style=''>:给数据盖时间戳)</span></p>
<p class='MsoNormal'><span lang='EN-US'><span style=''>       </span>16</span><span style=''>、完成,在图</span><span lang='EN-US'>25</span><span style=''>中单击“下一步(</span><u><span lang='EN-US'>N</span></u><span style=''>)”按钮便可来到数字签名向导的最后一步,即操作总览,如图</span><span lang='EN-US'>26</span><span style=''>所示,单击“完成”按钮便可大功告成,如图</span><span lang='EN-US'>27</span><span style=''>所示:</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1025" style="WIDTH: 377.25pt; HEIGHT: 290.25pt" type="#_x0000_t75"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4540/e7e142e2-6e54-448c-89a3-e76a515f39a5.jpg' alt=''/>&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>26</span><span style=''>,完成操作总览)</span></p>
<p class='MsoNormal'><span lang='EN-US'>&lt;o:p&gt; &lt;/o:p&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span lang='EN-US'>&lt;v:shape id="_x0000_i1026" style="WIDTH: 164.25pt; HEIGHT: 90.75pt" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\DOCUME~1\HUANGZ~1\LOCALS~1\Temp\msohtml1\01\clip_image017.png"&gt;<img src='http://huangzh.iteye.com/upload/picture/pic/4541/4106b4d3-f6b7-4982-9ad5-4bdf991b7231.jpg' alt=''/>&lt;/v:imagedata&gt;&lt;/v:shape&gt;</span></p>
<p class='MsoNormal' align='center' style='text-align: center;'><span style=''>(图</span><span lang='EN-US'>27</span><span style=''>:签名成功提示)</span></p>

相关推荐

    ActiveX控件打包成Cab置于网页中自动下载安装参考文档

    为了便于部署和更新这些控件,开发者通常会采用将控件打包成.Cab格式文件,并将其嵌入到网页中的方法,让用户能够自动下载并安装所需的ActiveX控件。本文将详细介绍如何使用`cabarc.exe`和`ActiveX Manager`等工具...

    ActiveX控件数字签名与打包成cab置于网页中自动下载安装

    操作说明将指导用户如何使用这些工具来签署自己的ActiveX控件并将其打包成CAB文件,然后部署到网页中。具体步骤可能涵盖证书获取、文件签名、CAB文件创建和网页集成等内容。 总的来说,通过数字签名和CAB打包,...

    Active控件打包成cab文件,置于网页中自动下载安装

    做过ActiveX控件的朋友都知道,要想把自己...聪明的你一定会很快就想到,我们可以使用户在客户端自动下载安装该ActiveX控件,这样一来即可以实现我们所想要的功能,又不需要用户自己去部署设置环境,这岂不是一举两得。

    VS2005开发ActiveX控件打包成CAB工具网页调用CAB控件源码

    2:打包CAB工具:把开发好的控件打包成CAB文件,以便在网页上下载调用 3:在网页上调用已打包的CAB控件 功能:vs2005c#开发调用ActiveX控件,控件功能读取串口数据(如ID卡读卡器刷卡后可以通过该控件读取。)该...

    ActiveX控件打包成cab教程,手把手教你,完全傻瓜式

    为了解决这个问题,我们可以将ActiveX控件打包成 CAB( Cabinet)文件,这样用户只需下载并运行一个文件,就能自动完成控件的安装和注册。 **必备条件:** 在打包ActiveX控件成CAB文件之前,你需要准备以下几个工具...

    打包activex控件方法

    标题中的“打包activex控件方法”指的是将ActiveX控件打包成CAB( Cabinets)文件,以便在网页上发布和安装。ActiveX是一种由微软开发的技术,允许在Internet Explorer浏览器中运行小型应用程序或控件,提供增强的...

    把ActiveX打包成CAB用于在网页上发布

    将ActiveX控件打包成CAB( Cabinet)文件是为了更安全、便捷地在网页上发布和安装这些控件。CAB文件是一种特殊的压缩格式,可以包含多个文件和数字签名,确保了用户下载的控件未被篡改。 1. **ActiveX技术**: ...

    C# ActiveX控件开发,打包cab安装部署,含源码及全过程开发文档

    3. 部署CAB文件时,用户只需在网页或应用程序中通过`&lt;object&gt;`或`&lt;embed&gt;`标签引用CAB链接,浏览器会自动下载并安装控件。 最后,**部署ActiveX控件**涉及到在目标用户的机器上安装和注册控件。通常,这可以通过...

    ActiveX控件打成cab包(内含教程和工具)

    ActiveX控件打成cab包(内含教程和工具),msdn上有其他人上传过,但上传的都不全面。 Cabarc.exe Cert2spc.exe Chktrust.exe Makecat.exe Makecert.exe Makectl.exe Signcode.exe OLE Viewer.exe IViewers.dll

    ActiveX控件cab打包、Web嵌入、自动升级攻略[归类].pdf

    在软件开发中,ActiveX控件的打包、Web嵌入和自动升级是确保其正常运行和持续更新的关键环节。 1. **ActiveX控件 CAB 打包** - **打包过程**:在打包ActiveX控件之前,你需要创建一个INF文件,这个文件包含了安装...

    OCX控件打包成CAB--cab,html文件

    ActiveX是微软推出的一种技术,允许在Web浏览器中运行小型的、可下载的组件,主要用于增强网页的功能和交互性。CAB文件则是用来分发和安装这些ActiveX控件的一种压缩格式,它包含了一组相关的文件和安装信息。 在...

    ActiveX控件打包成CEB的脚本

    在某些场景下,为了便于分发和安装,我们需要将ActiveX控件及其依赖文件打包成一个可执行的安装包,这时就涉及到CEB(Customized Deployment Package)包的制作。 CEB,全称为定制部署包,是微软提供的一种打包工具...

    VS2008(c#)开发ActiveX控件、访问及制作CAB包总结

    在本文中,我们将深入探讨如何使用Visual Studio 2008 (C#) 开发ActiveX控件,以及如何创建和打包CAB文件,以便在网页中使用和更新。ActiveX技术允许开发者创建可以在多种应用程序中使用的组件,尤其是在网页中通过...

    ActiveX控件打包发布

    当一个 ActiveX 控件被开发完成后,为了便于部署和管理,通常需要将其打包成 **cab (Cabinet)** 文件格式。Cab 文件是一种压缩文件格式,类似于 ZIP 文件,但专门设计用于存储多个文件并支持分发机制。通过这种方式...

    网页中显示带控件的ActiveX控件

    当用户访问包含ActiveX控件的网页时,浏览器会下载并安装这些控件,然后在网页中运行。控件可以是任何类型的代码,如VBScript、C++或Java,它们可以直接与操作系统交互,提供比JavaScript等客户端脚本语言更强大的...

    ActiveX控件的cab打包程序

    "ActiveX控件的cab打包程序"是指将ActiveX控件及其相关的数字证书、配置文件等打包成 CAB( Cabinets )格式的文件。CAB文件是一种压缩格式,用于分发和安装Windows系统中的软件组件。通过这种方式,用户在下载...

Global site tag (gtag.js) - Google Analytics