首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

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

2012-11-06 
ActiveX控件打包成Cab置于网页中自动下载安装? [背景]一、用于将ActiveX控件进行打包并加数据鉴名的工具集:

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

? [背景]

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

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

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

cabarc.exe?? 将ocx打包成cab。

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

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

certmgr.exe? 是管理证书用的。

二、用于进行打包用的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>

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

(图1:makeCAB包的工具集)

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

(图2:系统属性版块)

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

(图3:系统变量)

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

(图4:编辑系统变量)

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

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

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

<o:p>?</o:p>

三、ActiveX发布步骤

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

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

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

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

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

(图7:创建PVK文件)

<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">ActiveX控件打包成Cab置于网页中自动上载安装</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">ActiveX控件打包成Cab置于网页中自动上载安装</v:imagedata></v:shape>

(图9:生成evS1300.cer)

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

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

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

    ?

    </v:imagedata></v:shape>

    (图11:evS1300.inf)

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

    (图12:保存evS1300.inf)

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

    (图13:ActiveX Documenter)

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

    (图14:打开控件)

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

    (图15:控件属性)

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

    (图16:创建CAB文件)

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

    (图17:数字签名向导)

    ?

    <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">ActiveX控件打包成Cab置于网页中自动上载安装</v:imagedata></v:shape>

    (图18:选择CAB包)

    <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> 5 楼 ansili 2008-01-04   . 好. 谢谢LZ 6 楼 edzhh 2008-04-16   这个是好东西,谢谢楼主.

热点排行