Cab安装包是什么意思

Cab安装包是什么意思,第1张

windows

mobile系统和wince系统手机使用的一种安装文件,里面包含桌面快捷方式、注册表信息等,注册CAB安装的过程如下:CAB

Manager下CAB包制作过程:

1.

启动CAB

Manager,点击菜单“文件

新建”,弹出“新建安装包向导”,填入公司名称和应用程序名称,其他几步采用默认设置,直到完成向导;

2.

单击左侧树型结构的“CAB信息”,修改默认安装路径为“\Program

Files\xxx”(“xxx”可为应用程序英文名);

3.

右键点击左侧树型结构的“文件”,选择“添加”,加入应用程序相关的EXE、DLL、资源文件、示例数据文件,等等;

4.

右键点击左侧树型结构的“快捷方式”,选择“添加”,弹出“新建快捷方式向导”,填入中文的快捷方式名称,下一步选择“为以下文件创建快捷方式”下拉列表中的应用程序EXE文件,再下一步选择“\Windows\Start

Menu\Programs\”,点击“完成”,至此创建了“开始菜单\程序”快捷方式;

6.

做完其他操作(比如添加注册表信息等),单击工具栏“保存”按钮,弹出CAB包另存为对话框,设置CAB包名称后保存。

CAB

Manager下修改制作好的CAB包过程:

1.

启动CAB

Manager,打开一个已经生成的CAB包

2.

单击左侧树型结构的“快捷方式”,把下面的英文快捷方式的名称改成中文

3.

做完其他操作(比如添加注册表信息等),单击工具栏“保存”按钮,弹出CAB包另存为对话框,设置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所示的工具集,则表示已下载成功:

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

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

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

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

到,请自行准备。

三、ActiveX发布步骤

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

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

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

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

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

[version]

signature="$CHINA$"

AdvancedINF=1.0

[Add.Code]

evS1300.ocx=evS1300.ocx

msvcr71.dll=msvcr71.dll

mfc71.dll=mfc71.dll

msvcp71.dll=msvcp71.dll

[evS1300.ocx]

file=thiscab

clsid={0440906E-9BD6-4F3E-B65A-39E1B339D9DA}

FileVersion=1,0,0,0

RegisterServer=yes

[msvcr71.dll]

file-win32-x86=thiscab

RegisterServer=no

DestDir=11

FileVersion=7,10,3052,4

[mfc71.dll]

file-win32-x86=thiscab

RegisterServer=no

DestDir=11

FileVersion=7,10,3077,0

[msvcp71.dll]

file-win32-x86=thiscab

RegisterServer=no

DestDir=11

FileVersion=7,10,3077,0

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

点击“File”à“Open…”,打开您所要查看的OCX控件

打开了控件之后,我们在界面的右边部位“Class”的下拉框里选择“”就可以看到我们想要查找的FileVersion和classId,如图15所示:

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

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

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

9、选择好CAB包后单击“下一步(N)”按钮,在选择想要的签名类型里选择“自定议(C)”并单击“下一步(N)”按钮

10、接下来单击“从文件选择(F)”按钮,选择刚刚制作的evS1300.cer

11、在图20中单击“下一步(N)”按钮来到图21,然后在图21里选择“CSP中的私钥(K)”。

12、在图21中单击“下一步(N)”按钮,然后在图22中的散列算法中选择“shal”,并单击“下一步(N)”按钮。

13、在“证书路径中的证书”中选择“证书路径中的所有证书,包括根证书(C)”,在“其它证书(可选)”中选择“包括在以下PKCS #7 证书(.p7b)文件中的证书(P):”,并单击“浏览(R)…”按钮选择evS1300.spc文件,选择完后单击“下一步(N)”按钮

14、接下来在弹出的“数据描述”窗口中输入公司的名称和网址并单击“下一步(N

15、现大部份工作都已完成,在接下来的一步当中是可选的操作,其作用只是为CAB加入时间戳,此步骤完全可以不做

16、完成,单击“下一步(N)”按钮便可来到数字签名向导的最后一步,即操作总览,单击“完成”按钮便可大功告成


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/548036.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-28
下一篇2023-06-28

发表评论

登录后才能评论

评论列表(0条)

    保存