首页 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装

将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装

举报
开通vip

将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装 我们打开淘宝等网站时,IE浏览器会提示安装空间,这个控件便是用于对用户名密码进行加密的ActiveX控件。如何在我们的站点上安装如此控件,让用户可以通过简单的点击便可方便使用我们的空间呢? 下面是如何让在你的站点上安装控件的方法。 -------------------------------------------------------------------------------- 基础知识 html语言中Object标签 定义和用...

将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装 我们打开淘宝等网站时,IE浏览器会提示安装空间,这个控件便是用于对用户名密码进行加密的ActiveX控件。如何在我们的站点上安装如此控件,让用户可以通过简单的点击便可方便使用我们的空间呢? 下面是如何让在你的站点上安装控件的方法。 -------------------------------------------------------------------------------- 基础知识 html语言中Object标签 定义和用法 定义一个嵌入的对象。请使用此元素向您的XHTML 页面添加多媒体。此元素允许您规定插入HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及Flash。object 的初衷是取代img 和applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。浏览器的对象支持有赖于对象类型。不幸的是,主流浏览器都使用不同的代码来加载相同的对象类型。而幸运的是,object 对象提供了解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。如果未显示object 元素,就会执行位于 之间的代码。通过这种方式,我们能够嵌套多个object 元素(每个对应一个浏览器)。 实例 向HTML中添加对象: view plaincopy to clipboardprint? 参考 Windows中注册类ID:clsid “通用唯一标识符”(UUID),用于标识COM 组件。每个COM 组件在Windows 注册 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中都有自己的CLSID,以便让其他应用程序加载。 ActiveX控件CLSID的获取 在编译完成每一个ActiveX控件之后,系统会生成ocx.html文件,其中是调用该ActiveX控件的方法。该页面中有一个标签即为Object,其中有一行则 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 着该ocx文件的CLSID,如下: view plaincopy to clipboardprint? -------------------------------------------------------------------------------- 创建cab文件 cab文件中需要包含一系列文件,其中.inf文件会告诉IE如何去安装这些文件。我们从.inf 文件开始怎么写inf INF文件的组成有节(Sections),键(Key)和值(value)三部分。关键节有[Version]版本描述信息,主要用于版本控制。[Strings]字符串信息,用于常量定义。[DestinationDirs]定义系统路径信息。[SourceDisksNames]指明源盘信息。[SourceDisksNames]指明源盘文件名。[DefaultInstall]开始执行安装。[Version]版本描述信息,主要用于版本控制。[Strings]字符串信息,用于常量定义。 [DestinationDirs]定义系统路径信息。 [SourceDisksNames]指明源盘信息。 [SourceDisksNames]指明源盘文件名。 [DefaultInstall]开始执行安装。其它的节可以自定义 最开始一般是[Version]区: [Version] signature="$XXXX$" AdvancedINF=2.0 [Version] signature="$XXXX$" AdvancedINF=2.0 "Signature"项定义了该INF文件需要运行在何种操作系统版本中。有$Windows NT$, $Chicago$, or $Windows 95$三个值供选择,一般选择$Chicago$即可。 接下来就是最重要的[Add.Code]区: [Add.Code] Ctrl1.dll=C1Section Ctrl2.dll=Ctrl2.dll [Add.Code] Ctrl1.dll=C1Section Ctrl2.dll=Ctrl2.dll 前面是要下载的文件名,后面是对应这个文件的区域名,可以是任何名字,不过一般都是和文件的名字相同,这样方便维护。 还有需要注意是在[Add.Code]区出现的文件要根据依赖性进行排序,例如前面说的ctrl1.dll 要依赖于ctrl2.dll,则ctrl2.dll要出现在ctrl1.dll的前面。因为安装时是按照相反的顺序进行的,也就是说先安装ctrl2.dll,然后才是ctrl1.dll,哧哧,记清楚了,不要搞反了。 再接下来是各个文件的区域了 [Ctrl1.dll] File-win32-x86=thiscab RegisterServer=yes clsid={.....} DestDir= FileVersion=1,0,0,0 [Ctrl1.dll] file-win32-x86=thiscab RegisterServer=yes clsid={.....} DestDir= FileVersion=1,0,0,0 [Ctrl1.dll]区域中的第一个file值告诉ie到哪里去得到这个dll,file一共包括三个部分,第一部分是file,这个永远都是这样的(至少目前来说);第二部分告诉声明支持的OS,win32表示windows,mac就是苹果MAC OX了;第三部分是CPU类型,比如说x86、ppc (Power PC)、mips或者alpha了。 file的值可以取三个一个URL、ignore和thiscab,如果是URL则说明到URL所在的位置去下;如果是ignore说明对于这种OS和CPU,不需要下载这个文件(ctrl1.dll);如果是thiscab很明显就在当前的cab文件中了。 接下来是RegisterServer,可以取两个值yes和no,如果为yes则说明ie要注册该dll,如果是no就不必了。+如果这里选yes,则需要指定clsid,否则clsid一行可以省略。+ 再下来是DestDir,它的值是dll将要存到本地硬盘的位置,如果它的值是10,则将dll放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者\WinNT\System32下;如果是空(就是没有值)则会放到\Windows或者\WinNT下的Downloaded Program Files目录下; 最后是FileVersion,这个就比较明显了,说明了ctrl1.dll的版本号。 其他部分详见参考文献。 创建cab文件 如果需要创建cab文件,首先需要Cabarc或者Makecab,它们随着Cabinet SDK的安装就有了,Cabinet SDK的下载地址是 Cabarc可以创建、查看或者解出cab里面的文件,而Makecab则只可以用来创建cab文件。制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。 inf搞法:inf文件描述cab中所有的ocx及dll文件,inf通过一些命名区域来提供需要的信息。 cabarc N ctrl1.cab ctrl1.inf ctrl1.dll cabarc N ctrl1.cab ctrl1.inf ctrl1.dll N表示要创建一个新的文件,ctrl1.cab是创建的文件名,ctrl1.inf是cab的inf,后而是需要加到cab 里的文件,可以使用通配符。 然后就可以将cab文件放到网页上了 参考 如何编写INF: 如何写cab相关的INF: -------------------------------------------------------------------------------- 签名 申请 关于撤销行政处分的申请关于工程延期监理费的申请报告关于减免管理费的申请关于减租申请书的范文关于解除警告处分的申请 证书 要使用到makecert工具,在VS2005目录下搜索可以搜索到。 在命令提示行中执行 makecert -sk myNewKey -r -n "CN=发证机关的名字,OU=Certification,O=公司名字,E=name@email.com" -ss my myNew.cer cert2spc myNew.cer myNew.spc makecert -sk myNewKey -r -n "CN=发证机关的名字,OU=Certification,O=公司名字,E=name@email.com" -ss my myNew.cer cert2spc myNew.cer myNew.spc makecert具体使用帮助可参考创建证书的工具(makecert.exe) 签名 要使用到signtool工具,也可以在VS2005目录下找到。 signtool工具有多种使用模式,下面使用的是带UI的向导模式。 在命令提示行中执行 signtool signwizard signtool signwizard 之后进入signcodewizard: step1.选择要签名的cab文件step2.自定义step3.从文件中选择myNew.spc step4.csp中的私钥/密钥容器:myNewKey step5.sha1 step6.next step7.描述:插件名称/web:www.yourcompany.com step8.选择要签名的cab文件 step2.自定义 step3.从文件中选择myNew.spc step4.csp中的私钥/密钥容器:myNewKey step5.sha1 step6.next step7.描述:插件名称/web:www.yourcompany.com step8.的具体使用帮助可参考签名工具(SignTool.exe) 一、程序描述: 程序环境:windows Xp sp2, ie 6, tomcat 5.5, vc++6.0 程序过程:控件做成ocx文件,用于客户端调用本地硬件,其中有用到第三方几个.dll文件。采用windows自带iexpress.exe 打包成cab文件,在服务器端jsp页面进行控件调用,下载cab文件并自动注册。 二、程序问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : 遇到问题: 1. cab文件无法下载,而且根本不加提示。 2. 下载好的cab文件在system32中能够看到,但是页面仍然不能显示,一把红叉,并且无法使用。 问题测试: 1. 浏览器页面根本没有下载提示,考虑应该是cab的路径问题,也曾考虑是ie浏览器的安全问题。将安全降到最低测试。反复更改cab路径。 2. 这个问题最郁闷,搞了很久。考虑首先是安全问题,然后在网上搜索之后说是sp2调高了安全策略,有说降低安全,有说需要对程序进行数字签名。 问题解决: 1. 确实是路径不对,与安全无关。当在jsp中代码为: TestCAB.CAB文件应该放置在tomcat5.5安装目录Tomcat 5.5\webapps下该调用jsp所在的工程下。 2. 不需要更改安全级别,而应该在Internet选项-〉安全-〉受信任的站点-〉站点中添加服务器地址。注意:不要选复选框“对该区域中的所有站点要求服务器验证”。 三、总结: 1.将ocx文件以及第三方dll文件打包成cab文件: Internet 软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。一个分发单位也可以包含软件组件,如
本文档为【将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_842972
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:0
分类:互联网
上传时间:2019-08-24
浏览量:22