CAB制作说明

ActiveX控件打包成Cab置于网页中自动下载安装 [背景]        做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具里面运行regsvr32 test.ocx命令进行注册。但如果真是这么去做的话,那么代表着你处于危险之中了,因为您是 阅读详情
1、如果需要创建cab文件,首先需要Cabarc或者Makecab,它们随着Cabinet     SDK的安装就有了,Cabinet     SDK的下载地址是 http://msdn.microsoft.com/workshop/management/cab/cabdl.asp。    
Cabarc可以创建、查看或者解出cab里面的文件,而Makecab则只可以用来创建cab文件。    
2、制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。    
3、inf搞法:inf文件描述cab中所有的ocx及dll文件,inf通过一些命名区域来提供需要的信息。    
 
怎么写inf    
最开始一般是[Version]区:    
eg:     [Version]    
              signature= "$XXXX$ "    
              AdvancedINF=2.0    
接下来就是最重要的[Add.Code]区:    
eg:     [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值告诉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就不必了;    
再下来是DestDir,它的值是dll将要存到本地硬盘的位置,如果它的值是10,则将dll放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者    
\WinNT\System32下;如果是空(就是没有值)则会放到\Windows或者\WinNT下的Downloaded     Program     Files目录下;    
最后是FileVersion,这个就比较明显了,说明了ctrl1.dll的版本号。    
有时候我们使用VB来开发控件的时候,需要将VB的虚拟机装上去,它需要一些其它的说明的,简单地讲一下吧:    
在[Add.Code]中增加一项MSVBVM60.DLL=MSVBVM60.DLL(以VB6为例)下面是    
MSVBVM60.DLL区域:    
[MSVBVM60.DLL]    
                      hook=MSVBVM60.cab_Installer    
                      FileVersion=6,0,81,76    
FileVersion很明显,是版本号,就不再说发,就说说hook吧。    
hook区域是在安装的时候需要执行的区域,它分为两种,一种是有条件的,另外一种是无条件的,无条件的hook区域是必须执行的,反之则根据条件判断是否执行。以[Setup     Hooks]标记的区域是无条件区域,如下所示    
[Setup     Hooks]    
              hookname=section-name    
 
[section-name]    
run=%EXTRACT_DIR%\setup.exe    
无条件区域常用来通过一个inf文件执行一个安装程序,这就是我们在资源管理器右键点击一个inf文件时在执行安装这样的菜单的原因了    
当ie下载了一个cab文件,如果文件中没有[Add.Code],则处理[Setup     Hooks]区域,运行run所指定程序,哧哧,上面就是setup.exe;    
条件区域则为在一定条件下执行,前面为MSVBVM60.DLL指定的hook区域就是一个条件区域,如果在MSVBVM60.DLL指定的CLSID或者version不能满足需要而且没有file这个命名值,则执行hook所指定的区域。    
[MSVBVM60.cab_Installer]    
file-win32-x86=http://activex.microsoft.com/controls/vb6/VBRun60.cab    
run=%EXTRACT_DIR%\VBRun60.exe    
上面[MSVBVM60.cab_Installer]是一个hook区域,它也包含了一个file值,指定一个URL,表示MSVBVM60.DLL可以从这个URL下载得到;run则说明了执行哪一个文件    
这里有必要说明一下的是,MS对一些常用的Redistributable     Microsoft     DLLs    
可以通过指定CODEBASE属性为 http://activex.microsoft.com/controls,这样在cab文件中就中需要包含这些文件,在计算机上有一个文件redist.txt上面的dll就是Redistributable     Microsoft     DLLs    
 
 
创建一个cab文件:    
cabarc     N     ctrl1.cab     ctrl1.inf     ctrl1.dll    
N表示要创建一个新的文件,ctrl1.cab是创建的文件名,ctrl1.inf是cab的inf,后而是需要加到cab里的文件,可以使用通配符。    
然后就可以将cab文件放到网页上了    
<OBJECT     ID= "Ctrl1Obj "    
                              CLASSID= "clsid:..................................... "    
                              CODEBASE= " http://server.com/ctrl1.cab#version=8,0,0,5007 ">    
</OBJECT>    
这里也在一个version,不过这里的version是指控件的version,而inf里的是文件的version。    
 
 
制作电子签名:    
首先从下面的网址下载制作签名的工具SignCode,地址是    
http://msdn.microsoft.com/workshop/gallery/tools/authenticode/authcode.asp    
从签名授权中心如VeriSign或者你的局域网上运行的Microsoft     Certificate        
Server授权服务器得到一个certificate,在申请授权的过程你会得到一个私钥。    
也可以使用MakeCert.exe和Cert2Spc.exe创建的私钥进行测试,方法是首先使用MakeCert创建一个X.509的certificate(.cer文件)    
              MakeCert     -sv     MyKey.pvk     n     "CN=My     Software     Company "     MyCert.cer    
然后利用Cert2Spc将.cer文件转换成为PKCS     #7软件发布Certificate(.spc文件),    
              Cert2Spc     MyCert.cer     MyCert.spc    
利用你下载的SignCode对你的cab文件进行电子签名    
              SignCode     -spc     MyCert.spc     -v     MyKey.pvk     -t     http://    
                              timestamp.verisign.com/scripts/timstamp.dll     ctrl1.cab    
SignCode还可以指定一些其它的参数,就不说了,太长了,哧哧。    
虽然可以利用测试的.cer和.spc文件,但是在发布的时候,必须申请。
制作cab文件(Windows自带的makecab) 压缩单文件 makecab 1.doc 1.cab 解压单文件 expand 1.cab 1.doc 压缩多个文件 dir /b >>name.txt #把要压缩的文件名写入一个txt makecab /f name.txt 当前目录生成disk1文件夹,里面存储的就是本次make的cab文件 解压多个文件 expand 1.cab -f:* c:\test\ 值得注意的是必须指定解压文件存放的目录,即c:\test\必须有,否则会报错 查看包内容 e 阅读详情

相关推荐

cabwiz:打造个性化CAB安装包制作工具

CAB文件格式是一种高效的压缩格式,广泛应用于软件安装和分发过程中,它支持数据压缩,可以在较小的文件大小中存放更多的内容。CAB文件格式的压缩算法使得它在传输和存储上都具有优势,尤其在带宽有限和存储空间紧张的环境下,CAB文件显得尤为高效。CAB(Cabinet)文件格式是一种压缩文件格式,通常用于软件分发和存储。它是一种高效的数据压缩和存储方案,支持广泛的压缩算法,并且可以包含多个文件和文件夹。CAB文件经常与Windows安装程序一同出现,如setup.exe,用于安装应用程序。

weixin_42452924的博客 1292

怎样将控件打包为cab文件

制作带签名的cab包           leechy   [原作]           一、制作cab包:     在命令提示行中执行     cabarc   -s   6144   n   remtcardsetup.cab   remtcard.dll   remtcard.inf     -s   6144:为签名留下6k的空间     .inf文件的格式     [version]  

笑看风云的IT专栏 1801

Cabinet SDK

用于发布ActiveX的CabinetSDK

如何创建 CAB 文件和如何从文件、内存和资源中解压缩 CAB 文件

制作 MSI 安装程序少不了 CAB 文件,CAB 文件可以对需要安装程序进行压缩,以达到快速分发新程序的目的,通过参考高人的代码和 MSDN 整理了一套 Cabinet 文件的操作实现类,使用这些类可以:  1、将多个文件制作为一个 CAB 文件  2、将一个目录直接打包为 CAB 文件  3、将磁盘上的 CAB 文件中解包出文件  4、从内存中的 CAB 数据流中解包出文件  5、从程序的 ...

weixin_30912051的博客 458

微软cabinet类(解压cab包)

微软官方的cabinet类,解压cab文件用的,即FDI/FCI类。请执行cabsdk.exe解压文件使用。其余的压缩包都是参考代码。其实只参考cabsdk.exe里的代码基本就够了。这个很不好找了,微软官方也不提供下载了,希望csdn能把经典保留好。

如何制作cab包

NULL 博文链接:https://mimmy.iteye.com/blog/509707

ATL问题集

/*此文是将网上的一些文章,自已遇到的问题进行整理,有些是翻译,所有只供学习讨论,如有版权还归原作者――作者:王卫星csdnid:wangweixing2000*/#32如何动态创建ocx?答:看下面代码#include  CComModule _Module;#include #include #pragma comment(lib,"atl") CComQIPtr m_spBrowser;CA

itclock的专栏 1463

硬件电路(22)-TTL和232切换电路

工作中会遇到TTL和232电平的通信的状态,为了实现一种便捷的切换方式,参考了一些文章,提供一种电路方便大家使用。

剑藏锋的博客 1862

cab文件介绍及制作方法

<br />1. 什么是cab文件<br /><br />CAB在电脑上是一种压缩文件,微软出品的东西,用WinRAR可以解压缩,在DOS启动盘里面可以看见一些CAB压缩文件。其实Windows里面已经带了CAB压缩程序,但是现在CAB文件已经不常用了,被Zip和RAR取代。<br /> PPC的CAB包 (也可以参看7楼我引用的介绍)<br /> PPC上的CAB其实是一种安装包,里面有安装需要的文件,还有软件名称、公司名称、适用操作系统、版本号、默认安装路径之类的信息,还有产生快捷方式。<br />

dongliqiang2006的专栏 2万+

科研党必备:Zotero+Deepseek 打造AI文献阅读助手(附详细插件配置指南)

本文详细介绍了如何利用Zotero和Deepseek打造AI文献阅读助手,提升科研效率。从Zotero基础安装到中文文献处理插件茉莉花的配置,再到Deepseek API的集成与模型选择策略,全面覆盖了AI辅助阅读的关键环节。特别适合需要高效管理海量文献的科研工作者,显著提升文献筛选和分析速度。

backprop5master的博客 422

NRF24L01模块的5个常见问题及解决方案:从信号干扰到功耗优化

本文深入探讨NRF24L01无线模块在STM32开发中的5大常见问题及解决方案,包括通信距离优化、数据丢失排查、电源噪声抑制、SPI通信故障处理以及低功耗设计。通过代码示例和电路图分析,提供实用的优化策略,帮助开发者提升无线通信的稳定性和效率。

weixin_28256233的博客 226

java 解压cab文件_[原创]一个小小的Cab文件打包工具

#re: [原创]一个小小的Cab文件打包工具2008-08-04 16:45REALPLUG谢谢了! 不过我还有一个CAB打包工具,是老毛桃制作的,也是调用makecab.exe来打包的,不过使用的是命令行,现在也给你分享其源码。如下: (注:将下列所有的字复制到记事本并保存为CMD即可。)@Echo OffSet TT=老毛桃制作的批量文件 CAB 打包工具Set TS=如果你输入的路径或文...

weixin_31032799的博客 309

红外回充方案之红外接收和发射/附源码(1)

本文介绍了基于NEC协议的红外回充方案实现,重点讲解了红外收发原理和GD32F330单片机的接收端实现。文章首先说明采用38kHz载波和一体化红外接收管的设计优势,能有效抗环境光干扰。接着详细解析NEC协议格式,包括9ms起始信号、地址码、命令码及其反码校验机制,并给出逻辑1和0的调制方式。在接收端实现上,展示了GD32F330定时器输入捕获配置代码,通过双边沿触发测量脉冲宽度进行解码。文章还提供了状态机设计思路和数据结构,为低成本机器人红外回充方案提供了完整的技术实现方案。

m0_59406757的博客 1237

制作带签名的cab包

  一、制作cab包:在命令提示行中执行cabarc -s 6144 n Remtcardsetup.cab Remtcard.dll remtcard.inf-s 6144:为签名留下6k的空间.inf文件的格式[version]signature="$CHICAGO$"AdvancedINF=2.0 [RemtCard.Code]RemtCard.dll=RemtCard.dll [AutoL

leechy的专栏 2051

QTI Camera Stack 中的多摄调度模型与 SyncGroup 实现机制详解

在当前高端移动影像系统中,搭载主摄、长焦、超广、ToF、IR 等多个图像模组已成标配,实现高效、低延迟、高稳定性地调度这些 Sensor 的图像能力成为 QTI Camera Stack 架构的关键组成。高通平台通过构建 Camera SyncGroup 模型与多层调度策略,在 ISP 层实现多模组图像流的绑定控制、帧级时间同步、主副摄无感切换、双路并发采集等能力。 本文基于 Snapdragon 8 Gen 系列平台的实际调测经验,系统解析 Camera Stack 中多摄调度模型的结构设计、各层模块职责

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1055

基于大模型最大化电力交易收益(策略与代码实践)

新一代电力交易系统正借助大型语言模型(LLM)实现智能化转型。面对可再生能源占比提升带来的市场波动性加剧,传统交易策略已难以应对。LLM通过多模态能力,能够实时处理海量异构数据,包括政策公告、设备检修信息、天气报告等非结构化数据,构建更精准的电力市场预测模型。智能交易系统主要包含三大核心模块:市场情报感知与理解器、融合LLM的短期电价预测模型和自适应交易策略生成器。这些模块协同工作,可在几分钟内完成事件分析、价格预测和策略生成,显著提升交易效率。系统还能实现跨市场套利和动态风险管理,但需注意数据质量、模型验

专注AI大模型,软件混淆,授权 1254

Windows Mobile有关制作和安装cab文件

制作cab文件,快捷方式以及中文字符等内容: http://www.haogongju.net/art/1038843   介绍如何.msi安装程序部署多个.cab安装包到Windows Mobile设备上。 Deploying .NET Compact Framework 2.0 Applications with .cab and .msi FilesDeveloping and De...

weixin_33682790的博客 262

基于DO-178C/331的飞控软件研发环境的研究

本研究提出了一套基于DO-178C/331标准的飞控系统软件开发和验证框架。通过优化模型库的设计、代码生成配置和测试验证流程,显著提升了飞控系统软件的开发效率和安全性。未来的研究可以进一步扩展模型库的功能,以适应更复杂的飞控系统需求。

qq_41854911的博客 561

C#制作Active控件 中关于cab包的制作

1 关于如何制作activeX控件,这里不再赘述

u012593806的专栏 552

如何给K8S配置一个具有永久有效的kubeconfig

在 Amazon EKS 环境中,Kubernetes 的认证机制与 AWS IAM 深度集成,通过aws-iam-authenticator动态生成临时凭证。这种设计虽然增强了安全性,但给需要持久化凭证的工具链(如 CI/CD 系统中的 KubeVela)带来了挑战。具体表现为:临时凭证失效​​:默认 Token 有效期为 15 分钟至 1 小时;​​IAM 角色限制​​:直接使用aws eks get-token生成的凭证无法持久化

小杨同学的博客 660

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ActiveX控件的WEB发布

ActiveX控件的WEB发布有两部分组成1. ActiveX控件的制作部分要求    WEB发布对ActiveX控件的编码生成部分的要求就是必须实现ActiveX控件的安全接口“IObjectSafety 接口”:    2. ActiveX控件的发布要求         1)制作ActiveX空间的CAB包 :创建 CAB 文件请参见为 MFC 和 ATL 控件创建签名 C

zjs__2000的专栏 1940

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

为MFC和ATL控件创建签署的CAB文件

[正文]   这个东西在MSDN中有详细的过程(e文),天极网上的这一篇俺觉得是MSDN的翻译(http://www.yesky.com/20011220/210737.shtml),不过我照着上面的步骤做,怎么都没有成功,还说数字签名要钱(这不是要我的命吗),然后在找啊找,终于让我找到了简单一点的办法。   下面是创建签署CAB文件的步骤 :    1 获得一个软件出版商证明书 (您只需要这一次

爬行................... 1380

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何制作WinCE安装包

一、工具软件要在Wince安装程序,则需要制作*.cab安装包。制作*.cab安装包,需要专门的制作工具软件,该软件需在同级目录下包含如下文件:Cabwiz.exe 、cabwiz.ddf、ezsetup.exe 、makecab.exe 二、制作安装过程第一步:先制作.inf文件要制作.cab安装包,你只要写一个.inf文件,cabwiz.exe会根据你的这个INF文件来

benny5609的专栏 3779

PDA程序安装制作(zt)

Windows CE/Pocket PC安装盘的制作??? blackcolor(原作) ? 关键字???? windows ce ? ???????????????????????????????? Windows CE/Pocket PC安装盘的制作 ???????????????????????????????????? by blackcolor??? 2002.02.21 ??? 工作

oshj的专栏 2649

Windows CE/Pocket PC安装盘的制作

                                 Windows CE/Pocket PC安装盘的制作                                     by blackcolor    2002.02.21    工作环境为:Microsoft EMBDVTOOLS 3.0、Microsoft ActiveSync 3.1、Windows 98SE、

blackcolor的专栏 2018

WM终端安装包制作

一、INF文件介绍     1.inf文件是由一系列段组成,段的定义放在广括号中,段名不能超过255字节,名字不区分大小写。每一个段描述了文件的目标地址,快捷方式,注册设置等信息,这些都会被写入.cab文件中。各个段可以随意排放次序。      2.各段描述        A.[Version]是必需的,可以指定应用程序的创建者和版本            Signature="$

wyymaomi的专栏 810
上一篇: Gdi+ 在Win32动态库,编译出错问题解决
下一篇: IE中,ActiveX控件中控制Internet Explorer 事件
SevenColorFish
博客等级 码龄22年 53粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值