制作CAB包

inf文件

INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。

给硬盘(U盘)DIY一个可爱的图标

接着打开记事本程序,录入以下内容:

[autorun]
ICON=******.ICO

其中“******”是图标文件的路径及图标文件名,请自行修改为具体的图标文件的路径及图标文件名。录入完毕,另存为“Autorun.inf”,并将其剪切到某一个你欲扮酷的分区的根目录下。

在命令行下安装INF文件

通常情况下,我们都是在Windows环境下安装INF文件的,但是假如有一天,你需要在命令行运行INF文件该怎么办呢?

在命令行提示符后输入“ rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 INF文件所在的路径及文件名.inf ”,回车后即可安装相应的INF文件。

[pre]再提供两个方法:

  方法1. 运行RunDll32 advpack.dll,LaunchINFSection YOUINF.inf,DefaultInstall

  方法2.修复右键安装

  操作步骤如下:

  打开我的电脑,“工具”菜单中的“文件夹选项”。切换至“文件类型”选项卡,在其中找到inf文件,点高级按钮,双击“安装”(如没有“安装”就添加一个),按如下内容修改

  用于执行操作的应用程序:

  C:\WINDOWS\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1

  点选使用DDE(U)

  应用程序(C):

  setupapi

  主题(T):

  System

  确认!

  然后再次右键点选inf文件安装。

编写inf文件

; Sample INF file for IMES.DLL

;分号后为注释

[version]
; version signature (same for both NT and Win95) do not remove ;在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一 signature="$CHICAGO$"
AdvancedINF=2.0 [Add.Code]
Editor.ocx = Editor.ocx ; needed DLL [Editor.ocx]
file=thiscab
clsid={8BB4EE5B-5919-11D1-A01A-0060971932BC}
RegisterServer=yes
FileVersion=5,0,1,7 ; end of INF file

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

  • Cabarc.exe 将ocx打包成cab
  • Cert2spc.exe 将cer格式证书转换成spc格式证书, 即PKCS#7证书
  • Certmgr.exe 是管理证书用的
  • Chktrust.exe 检查签署证书后的ocx是否正确
  • Makecat.exe
  • Makecert.exe 制作cer格式的证书, 即X.509证书, 同时可以创建私钥和公钥
  • Makectl.exe
  • Signcode.exe 将证书签署到ocx上

工具集下载:makeCAB.rar

制作CAB文件

  • CMD 输入 iexpress,将启动Iexpress向导
  • 选中"Create new Self Extraction Directive file"
  • 选择"Create compressed files only(ActiveX Installs)"
  • 添加INF文件中所列所有文件(DLL及DEF等)
  • 单击"下一步(N)",单击Browse按钮选择RemtCard.CAB文件,同时选中 “Store files using long Name inside Package”checkbx
  • 选择"Don't save"
  • 单击完成按钮将同时生成RemtCard.CAB文件

执行

CABARC -s 6144 n RemtCard.cab ocx文件.ocx inf文件.INF

生成RemtCard.CAB文件

自制数字证书

用CMD进入到控件所在的目录;

创建PVK文件(私人密匙文件),CMD输入makecert -$ "individual" -r -sk RemtCard RemtCard.pvk -n CN=XXXXXXX

创建CER文件(公司证书),CMD输入“makecert -sk RemtCard.pvk RemtCard.cer”,然后回车,在相对目录下会出现一个安全证书

创建SPC测试软件出版商证明书,CMD输入“cert2spc RemtCard.cer RemtCard.spc”

执行

makecert -cy both -d RemtCard -n CN=xxxx有限公司 -sv RemtCard.pvk RemtCard.cer
Cert2SPC RemtCard.cer RemtCard.spc

文件数字签名

在CMD中运行signcode

选择RemtCard.CAB

选择好RemtCard.CAB文件后单击"下一步(N)"按钮,在选择想要的签名类型里选择"自定义(C)"按钮

单击"从文件选择(F)"按钮,选择刚制作的RemtCard.cer

选择"CSP中的私钥(K)"

容器密匙选择RemtCard.pvk

在散列算法中选择"md5"

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

"数据描述"窗口中输入公司的名称及网址并单击"

执行

signcode.exe -spc RemtCard.spc -v RemtCard.pvk -n RemtCard1.0.0.1 -i www.xxx.com.cn  RemtCard.cab

activeX插件安装升级

<object codebase="http://localhost/RemtCard.cab#version=1,1"CLASSID="CLSID:8BB4EE5B-5919-11D1-A01A-0060971932BC"…/>

参考:

制作CAB包的更多相关文章

  1. C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)

    制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载. 下面制作证书,以及制作cab包需要用到一些工具.我将工具包上传到自己的博客园里了,以供大家下载. ...

  2. 在vs2008工程中制作cab包

    内容转自MSDN 1.首先,制作自己的智能设备工程 2.添加cab工程: 为解决方案添加智能设备 CAB 项目 打开现有的智能设备项目,并确保“解决方案资源管理器”可见. 在“文件”菜单上指向“添加” ...

  3. Delphi发布ActiveX控件 制作CAB包 数字签名相关

    文件: SignTool.rar 大小: 84KB 下载: 下载 最近我正在研究ActiveX技术.我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序.这个控件产生一 ...

  4. 制作rpm包步骤

    由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装 ...

  5. 烂泥:Linux源码包制作RPM包之Apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...

  6. 运用.net core配合VS 2015制作nuget包

    from:http://www.cnblogs.com/zeusro/p/5171084.html 运用.net core配合VS 2015制作nuget包 以往做nuget包我们一般要么用命令行,要 ...

  7. git制作增量包用于更新代码

    1 先找到指定的开始提交id,比如 05104e3475f63e1e49fbfcbd424a4a3801b95645 2 找到结束的提交id,比如 a0eb9bc6d4e1801062877fd435 ...

  8. ubuntu 制作deb 包

    ubuntu下打包制作deb安装包 http://www.th7.cn/system/lin/201406/61012.shtml   2014-06-22 20:16:45CSDN-yangbing ...

  9. 从源代码制作deb包的两种方法以及修改已有deb包(转载)

    From:http://yysfire.github.io/linux/%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%B6%E4%BD%9Cdeb%E5%8C% ...

随机推荐

  1. H5项目开发分享——用Canvas合成文字

    以前曾用Canvas合成.裁剪.图片等<用H5中的Canvas等技术制作海报>.这次用Canvas来画文字. 下图中"老王考到驾照后"这几个字是画在Canvas上的,与 ...

  2. $ORACLE_HOME变量值末尾多“/”惹的祸

    之前一直误以为$ORACLE_HOME变量的路径中末尾多写一个"/"不会有影响. 今天做实验时碰到一个情景,发现并不是这样. 环境:OEL 5.7 + Oracle 10.2.0. ...

  3. 灵魂宝石 bzoj 2663

    灵魂宝石(1s 128MB)soulgem [问题描述] "作为你们本体的灵魂,为了能够更好的运用魔法,被赋予了既小巧又安全的外形" 我们知道,魔法少女的生命被存放于一个称为灵魂宝 ...

  4. java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)

    一.Condition 类 在前面我们学习与synchronized锁配合的线程等待(Object.wait)与线程通知(Object.notify),那么对于JDK1.5 的 java.util.c ...

  5. Android中Activity的四大启动模式实验简述

    作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握.今天我们就来通过实验演示,来帮助大家理解Activ ...

  6. Git学习笔记一:新建本地仓库及初始化

    1.百度搜索Git下载安装,直接按默认选项安装即可. 例如:Git-2.7.2-32-bit_setup.1457942412.exe 2.配置Git信息,建立版本仓库 (Alt+PrintScerr ...

  7. Debian下安装mono

    从mono的官网上查,debian的步骤写得太乱了.其实总结起来,就是这么几步: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --rec ...

  8. ucos实时操作系统学习笔记——任务间通信(互斥锁)

    想讲一下ucos任务间通信中的mutex,感觉其设计挺巧妙,同sem一样使用的是event机制实现的,代码不每一行都分析,因为讲的没邵贝贝老师清楚,主要讲一下mutex的内核是如何实现的.可以理解互斥 ...

  9. Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )

    在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ...

  10. direction和unicode-bidi

    在做多语言页面,接触过阿利伯语.希伯来语的同学肯定了解书写方向的重要性,包括我们五四运动前的书写顺序也是从右到左的.css中 unicode-bidi和direction属性决定了HTML或XML文字 ...