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.pswp.cn/news/375043.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375043.shtml
英文地址,請注明出處:http://en.pswp.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;掃描靶機開放的…