activex打包

http://www.cnblogs.com/weiwin/p/4493835.html

activeX 打包

原文 http://www.docin.com/p-409284488.html

CAB打包文档说明

 

  1. 文档目的

本文档的目的在于说明将ocx和dll以及相关的文件打包成一个CAB包,以便在网页下调用ocx控件时免去手工将dll和其他一下文件拷贝到客户机,方便了现场施工。

 

  1. 打包工具

打包工具有makeCAB

其中,ActvxDoc.exe用来查看ocx的CLSID,signcode.exe用来对打包好的cab进行数字签名,其它的用于生成数字认证文件。

 

  1. 打包过程
  2. 将打包工具makeCAB里面的所有文件放到系统文件夹system32目录下
  3. 新建一个文件夹,将所有要打包进cab的文件放在该新建的文件夹下
  4. 编写inf安装文件。新建一个txt文本文档,并将其改名为*.inf安装文件,按照以下格式编写inf文件。(打包时注意去除红色的字)

[version]

signature="$CHINA$"

AdvancedINF=1.0

 

[Add.Code]             --该段为所打包的文件

logocx.ocx=logocx.ocx

MFC42D.DLL=MFC42D.DLL

MFCO42D.DLL=MFCO42D.DLL

MSVCP60D.DLL=MSVCP60D.DLL

MSVCRTD.DLL=MSVCRTD.DLL

pssts.ini=pssts.ini

 

[logocx.ocx]            --打包的ocx

file=thiscab

clsid={5710EB41-87CE-4BF8-9A24-F520556714BB}   --ocx的序列号

FileVersion=1,0,0,1

RegisterServer=yes

 

--以下是其他的相关文件

[MFC42D.DLL]

file-win32-x86=thiscab   

RegisterServer=no    

DestDir=11                --存放目录为system32

FileVersion=7,10,3052,4 

 

[MFCO42D.DLL]

file-win32-x86=thiscab   

RegisterServer=no   

DestDir=11  

FileVersion=7,10,3052,4 

 

[MSVCP60D.DLL]

file-win32-x86=thiscab   

RegisterServer=no   

DestDir=11  

FileVersion=7,10,3052,4 

 

[MSVCRTD.DLL]

file-win32-x86=thiscab   

RegisterServer=no   

DestDir=11  

FileVersion=7,10,3052,4 

 

[pssts.ini]

file-win32-x86=thiscab

DestDir=11

  1. 编写运行的bat文件。新建一个txt文本文档,并将其改名为*.bat运行文件,按照以下格式编写bat文件。(打包时注意去除红色的字)

--生成数字签名文件*.pvk

--logocx是文件路径

makecert -sk logocx logocx.pvk -n CN=迪科电力

--生成数字签名文件*.cer

makecert -sk logocx.pvk logocx.cer

--生成数字签名文件*.spc

cert2spc logocx.cer logocx.spc

--打包cab文件,其中【MFC42D.DLL MFCO42D.DLL MSVCP60D.DLL MSVCRTD.DLL pssts.ini logocx.ocx logocx.inf】为要打包进cab中的文件,注意要包含上一步编写的inf文件

cabarc -s 6144 n logocx.cab MFC42D.DLL MFCO42D.DLL MSVCP60D.DLL MSVCRTD.DLL pssts.ini logocx.ocx logocx.inf

--运行数字签名程序

signcode.exe

  1. 运行编写好的bat文件。

将所有需要打包的文件和上两步编写好的inf、bat放在同一个目录下,双击bat文件运行,首先生成数字签名所需要的pvk、cer、spc文件,然后打包成cab,最后运行signcode.exe程序进行数字签名。(以上步骤为双击bat文件后自动生成的)

signcode界面中,

点击【下一步】,点击【浏览(R)…】,更改文件类型为*.cab,选中刚生成的cab文件,点击【打开】,然后点击【下一步】,

选择【自定义】,然后点击【下一步】,

点击【从文件选择】,打开刚才生成的cer文件,点击【下一步】

首先选择【磁盘上的私钥文件】,点击浏览选择刚才生成的PVK文件,然后选择【CSP中的私钥】,在【密钥容器】中选择*.pvk(为刚才选择的pvk),点击【下一步】。

选中【sha1】,然后点击【下一步】

选中【包括在以下PKCS#7(.p7b)文件中的证书(P)】,点击浏览,选择刚才生成的spc文件,点击【下一步】

然后一直点击【下一步】直到数字签名完成。

  1. 版本控制

.cab包进行版本更新,使用户能够打开浏览器时自动下载更新.cab包,需进行如下处理。

  1. ocx控件的版本进行更新。方法如下:打开源代码,找到资源文件,修改版本信息,如下图:

修改后重新生成ocx文件。

  1. 对打包时的.inf文件中ocx中的版本信息进行更新,举例如下:

[logocx.ocx]            --打包的ocx

file=thiscab

clsid={5710EB41-87CE-4BF8-9A24-F520556714BB}   --ocx的序列号

FileVersion=1,0,0,1

RegisterServer=yes

修改FileVersion=1,0,0,3

 

  1. 页面加载控件时添加版本信息,如下列红色字体所示:<object id="slipprint" style="display:none" width=30 height=30 classid="CLSID: 5710EB41-87CE-4BF8-9A24-F520556714BB" codebase="../activeX/DicEPSON532.cab#version=1,0,0,3">

 

 

  1. 注意事项

虽然已对打包好的cab进行了数字签名,但是该签名并未在网上注册,在客户端仍然需要设为信任站点。

 

6.如果安装不成功可以安装 depends 看看你的插件缺少什么dll,自行去补充

 

 

重要提示

 

 

 

平台工具集 Visual Studio 2013 - Windows XP (v120_xp)

 

relase 编译 多线程 选mt

 

所在的“项目”=>>“属性”=>>“配置属性”=>>“C/C++”=>>“预处理器”=>>“预处理定义” 移除_DENUG

转载于:https://www.cnblogs.com/spinsoft/p/4493872.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

靶场练习第十四天~vulnhub靶场之dc-6

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接: 百度网盘 请输入提取码 提取码: bazx 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip 命令&#xff1a;sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#…

最短路径Dijkstra算法和Floyd算法整理、

转载自&#xff1a;http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径—Dijkstra算法和Floyd算法 Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法&#xff0c;用于计算一个节点到其他所有节点的最短路径。主要特点是以…

Java Script 中 ==(Equal) 和 === (Identity Equal) 的区别和比较算法逻辑

判断两个变量是否相等在任何编程语言中都是非常重要的功能。 JavaScript 提供了 和 两种判断两个变量是否相等的运算符&#xff0c;但我们开始学习的时候 JavaScript 的时候&#xff0c;就被一遍又一遍的告知&#xff1a; 要求变量的类型和值均相等&#xff0c;才能返回true…

靶场练习第十五天~vulnhub靶场之dc-7

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:https://download.vulnhub.com/dc/DC-7.zip 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&…

ubuntu系统下如何修改host

Ubuntu系统的Hosts只需修改/etc/hosts文件&#xff0c;在目录中还有一个hosts.conf文件&#xff0c;刚开始还以为只需要修改这个就可以了&#xff0c;结果发现是需要修改hosts。修改完之后要重启网络。具体过程如下&#xff1a;1、修改hostssudo gedit /etc/hosts2、添加解析记…

Matplotlib不显示图形

安装好了Matplotlib&#xff0c;使用官方一个例子测试运行时&#xff0c;发现使用画图功能时&#xff0c;运行脚本老是显示不出图像&#xff0c;Google了一下&#xff0c;后来发现是matplotlibrc文件没配置好。 参考了官方文档&#xff0c;修改步骤如下 1.查找matplotlibrc文件…

靶场练习第十六天~vulnhub靶场之dc-8

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:https://download.vulnhub.com/dc/DC-8.zip 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&…

【SpringMVC】SpringMVC系列4之@RequestParam 映射请求参数值

4、RequestParam 映射请求参数值 4.1、概述 Spring MVC 通过分析处理方法的签名&#xff0c;将 HTTP 请求信息绑定到处理方法的相应人参中。Spring MVC 对控制器处理方法签名的限制是很宽松的&#xff0c;几乎可以按喜欢的任何方式对方法进行签名。必要时可以对方法及方法入…

Sprint3

进展&#xff1a;今天主要是各自熟悉安卓应用开发平台&#xff0c;设计了图标&#xff0c;没什么实际上的进展。 燃尽图&#xff1a; 团队工作照&#xff1a; 转载于:https://www.cnblogs.com/XJXYJ/p/4495810.html

靶场练习第十七天~vulnhub靶场之dc-9

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:https://download.vulnhub.com/dc/DC-9.zip 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&am…

Linux内核分析 02

二&#xff0c;操作系统是如何工作的 1、函数调用堆栈 三大法宝&#xff1a;存储程序计算机 函数调用堆栈 中断机制 堆栈&#xff1a;是C语言程序运行时必须的一个记录调用路径和参数的空间。是计算机内部现成的东西&#xff0c;我们直接使用。 包括函数调用框架、传递参数、保…

一 UI基本的用法

1. UIView的基本用法 //打印屏幕的宽和高CGRect screenBounds [[UIScreen mainScreen] bounds];NSLog("%f, %f", screenBounds.size.width, screenBounds.size.height);//创建一个UIView//UIView表示一个矩形区域UIView *v1 [[UIView alloc] init];//1.确定大小CGR…

靶场练习第十八天~vulnhub靶场之hackableII

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:Hackable: II ~ VulnHub 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&#xff09;扫描靶机开…

Object-c基础(2)

类和对象 类 在Object-c中类&#xff0c;其接口&#xff08;interface&#xff09;和实现&#xff08;implementation&#xff09;是分离开来的 类的声明 interface 类名:父类名{实例变量的定义;}方法声明;...end类的实现 implementation 类名方法定义...end对象 一个类提供…

arm linux 下移植busybox 的tftp

&#xff08;1&#xff09;进入busybox目录&#xff0c;make menuconfig &#xff0c;然后在networking中勾选tftp项跟tftpd项。 &#xff08;2&#xff09;配置/etc/inetd.conf 中关于tftp的选项&#xff08;此部未验证&#xff0c;不需要应该也可以&#xff09; tftp dgra…

靶场练习第二十天~vulnhub靶场之Funbox: Scriptkiddie

一、环境搭建 靶官网机下载地址&#xff1a;Funbox: Scriptkiddie ~ VulnHub 百度云盘下载链接: 百度网盘 请输入提取码 提取码: i4a9 二、信息收集 1.nmap命令扫描靶机 先用ifconfig查看kali的IP&#xff0c;因为kali和靶机都是NAT模式下&#xff0c;所以用 nmap 192.168…

documentbodyscrollTop的值总为零的解决办法

有一个功能需要判断返回顶部按钮是否显示。 JS代码如下&#xff1a; var sTop document.body.scrollTop;if(sTop>100){document.getElementById("sm_top").style.display"block";}else{document.getElementById("sm_top").style.display&quo…

spring mvc 多线程并发

ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 http://www.xuebuyuan.com/1628190.html 我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的&#xff0c;也就…

靶场练习第十九天~vulnhub靶场之GreenOptic: 1

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:GreenOptic: 1 ~ VulnHub 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&#xff09;扫描靶机开…

靶场练习第二十五天~vulnhub靶场之Raven-2

一、准备工作 kali和靶机都选择NAT模式&#xff08;kali与靶机同网段&#xff09; 1.靶场环境 下载链接:Raven: 2 ~ VulnHub 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&#xff09;扫描靶机开放的…