woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

VC OCX 打包CAB 网页发布全过程记录

第一次发布一个activeX控件,真的费了不少力气,主要是对发布的原理和过程不大清楚。在这里记下过程,以备后用和其它网友参考。

1,创建OCX:你要创建一个可用的OCX控件,并在本机测试通过。

2,打包CAB:WinCAB 是一种可视化的全新的CAB压缩包制作软件,它具有采用图形界面、支持分卷压缩、可制作具有自解包功能的CAB压缩包(*.EXE文件格式)等优秀功能, 这就从根本上解决了CAB压缩包的制作问题。需要注意的是在运行WinCAB.exe时,必须确保makecab.exe文件也在相同的目录下。

注:WinCAB在网上有很多下载,可以去百度搜,makecab.exe在系统盘windows\system32下。

一般来说,一个单独的OCX不需要INF也可以打成CAB发布,所以这里就不介绍INF文件了,想了解的话,去我文章下边的几个链接。

3,数字签名:做为测试,也可以不要数字签名。只需要在客户端PC的IE安全选项中,把级别调低或针对ACTIVEX设置调成enable。

关于证书和签名     -|zuiwanting 发表于 2006-5-24 9:58:00 

\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin下有关于证书和签名相关工具

1。Makecert.exe ---证书创建工具

2。Cert2Spc.exe ---发行者证书测试工具

3。Signcode.exe ---文件签名工具

建立自己的根证书:

makecert -sk myPK -ss myName -n "CN=LUO31工作室" -r c:\luo31.cer

      sk-表示主题的密钥容器位置,ss-主题的证书存储名称, n-证书颁发对象,r-证书存储位置;

如果你需要导出私钥文件,请不要使用sk,而换作s,eg:makecert  -ss myName -n "CN=LUO31工作室" -sv c:\luo31.pvk  -r c:\luo31.cer

建立自根证书授权的子证书:

makecert -sk "myPK" -is myName -n "CN=luo31" -$ commercial -ic c:\luo31.cer  c:\31.cer

      sk-表示主题的密钥容器位置,is-颁发者的证书存储名称, n-证书颁发对象,ic-颁发者的证书存储位置,-$-授权范围(用于代码签名);

使用Cert2Spc生成spc发行者证书(可选):

cert2spc c:\31.cer c:\31.spc

使用signcode为你的程序,库或cab包签名:

双 击signcode,或在控制台键入signcode,不带参数会启动签名向导。在第三步选择“自定义选项”,第四步选择“从文件选择”选择31.spc 或31.cer,第五步选择“CSP中的私钥”,在密钥容器中选择我们定义的myPK,其他步骤默认即可,如果想添加时间戳,请在时间戳服务器地址上键 入:(免费时间戳认证)http://timestamp.verisign.com/scripts/timstamp.dll ;

完成后,观察你所签名的文件属性,应该已经添加数字签名项

注:如无Signcode.exe工具。也可使用signtool.exe这个工具从命令行启动,支持界面向导。也在Bin目录下。

4,HTTP部署:你需要一个HTTPSERVER,IIS或apache都可以。这个是另一大块,关于这部分,我默认为你已有一个HTTPSERVER。(如果真的没有,那以这一块为单位你可以在网上找到很多方法)。

5,网页发布代码:

<html>
<head>
<title>test</title>
</head>
<body>
<object name=axSAM classid=clsid:76D15F20-BE2A-4FEF-A215-FDF91B82CFAD style="height:18pt;width:120" codebase="http://192.168.11.212/airis/VirusCheck.cab#version=1, 0, 0, 3"></object>
<input name="Check Begin" value="Check Begin" type="button" onclick="axSAM.Check('192.168.11.212');" />
</body>
</html>

codebase 是你的cab的URL,#后面是版本。版本变化的时候IE才会更新OCX。axSAM.Check('192.168.11.212')

是我的自定义函数,用以测试。

6,客户端PC的IE设定:在客户端PC的IE安全选项中,把级别调低或针对ACTIVEX设置调成enable。这样的结果会是有的PC可以使用控件,有的不行。原因是WindowsXP SP2和IE7增强了对ActiveX的限制。

症状:

无法在某些XP SP2 的IE上显示控件(实际上控件已经注册成功了)

结果:

上网搜索后,有微 软关于XP SP2的说明,说是SP2补丁导致很多控件的无法正常的使用,提供了一个办法,将访问服务器的站点添加到“受信任的站点”(IE的“Internet选项 ”中,注意不要选择“对改区域内的所有站点都要求验证(https://)”),这时某些有问题的SP2机器上显示出来。

疑问猜想:

1。有些机器可以显示,有些不能显示,这可能和系统的某些未知补丁有关系

2。花钱注册了控件签名是否能够解决这一问题

3。在有的(只有一台,正版XP sp2, 经常升级补丁),使用regsvr32 来注册OCX都不可以?

引用MVP的话:

jiangsheng(蒋晟.Net[MVP]) ( 五星(高级)) 信誉:290

2006-4-4 14:28:23

得分: 0

记 得WinXPSp2里面ActievX的限制更加严格,没有数字签名的控件会被禁用。对实现了IObjectSafety的控件也会有警告参考 http://verisign.com/products-services/security-services/code-signing/digital-ids-code-signing/index.html

7,小技巧:去注册表中。开始菜单=》运行=》regedit 。在HKEY_CLASSES_ROOT下搜索你的OCX的名字,可以得到以OCX的CLSID为键名的键。在客户端PC上以有这样的注册表信息为注册成功。一般注册成功的OCX被下载到系统盘目录:\WINDOWS\Downloaded Program Files下。

以上内容参考自:

http://dev.csdn.net/develop/article/65/65477.shtm

http://blog.csdn.net/birdme007/archive/2007/09/14/1784804.aspx

http://blog.csdn.net/MLiang/category/184234.aspx

注:以上灰色部分为引用部分,绿色部分为特别注意部分。

posted on 2008-06-16 17:57 肥仔 阅读(4339) 评论(8)  编辑 收藏 引用 所属分类: 网络编程

评论

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

Din’t you know that we were really render with people the best stuff just about this post. We promise that men <a href="http://bestwritingservice.com/buy-essay.html">buy an essay</a> and have the high quality essays writing corporations to <a href="http://www.bestwritingservice.com">buy term paper</a> at.
2010-06-15 01:50 | QueenJordan19

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

Oh, what a good research I notice! I probably buy an essay referring to this good topic at the essays writers!
2010-06-15 22:05 | buy an essay

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

Your good enough information just about this post could make myself purchase thesis paper from thesis service or in the great dissertation writing service. Thank you a lot about that!
2010-06-18 14:32 | custom dissertation

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

Lots of corporations propose the custom dissertation and outline thesis referring to this good topic for sutdents’ success. Hence, don’t waste your time, determine the buy thesis service, buy thesis theme and enjoy your life.
2010-06-21 22:01 | thesis writing service

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

I have bought a new computer and did not money to get information where to buy essays "primewritings.com". However, I have found a college essays writing firm that proposed good discounts. Hence, I used to be saved.
2012-06-10 06:00 | buy essay writer

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

I will make effort to make up an knowledge on how superior university is and perhaps some resources were students can pursue their dreams and get amazing great online essays.
2012-06-10 20:15 | essays online

# re: VC OCX 打包CAB 网页发布全过程记录  回复  更多评论   

Aren't willing to damage A+ deploma and do not understand a proper way to write premium quality africa essay (essaysbank.com)? I claim that it's not a problem at all, because the professional free essays writing firms are able to assist.
2012-09-13 11:48 | poetry & poets essays

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理