大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 为MFC和ATL控件创建签署的CAB文件

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

时间: 2021-07-31 作者:daque

即使您安置经过internet出卖 mfc控件和atl 控件,您该当将其打包成签订的玲珑(cabinet -cab) 文献。签订文献保证用户载入您的控件时源代码是安定的。一个cab文献包括一个您的控件及其安置消息(比方,都须要哪些动静链接库dll和ocx一道安置)的收缩本子。  创造和签订cab文献的东西包括于visual c++ 5.0 光盘中的 cab&sign 目次底下。 该目次下的公用步调在您安置visual c++时并不会机动地一道安置,所以您必需将cab&sign 目次底下的实质正片到您的硬盘启动器中。  在签订文献之前,您须要有一个软硬件出书商表明书(software publisher certificate)。您必需向文凭散发组织(certification authority)请求本人的文凭。运用cab&sign目次底下的东西,您不妨创造一个用来尝试的尝试表明书,然而该表明书不许用来签订出售的代码。相关请求软硬件出书商表明书的消息,请参考办法 1 。  底下是创造签订cab文献的办法 :   1 赢得一个软硬件出书商表明书 (您只须要这一次请求就不妨长久运用)   2 创造 cab 文献   3 签订您的文献   4 将签订过的 cab文献嵌入一个web页(可选项)赢得一个软硬件出书商表明书  在签订文献之前,您须要有一个软硬件出书商表明书(spc)。为此,您必需向文凭散发组织(certification authority)提出请求。在请求进程中,您必需天生一个密匙对,并向文凭散发组织供给表明消息,比方说您的名字、地方以及大众密匙。并且,您必需作出具备法令牵制力的誓词:您不许也将不会颁布您领会大概该当领会个中包括了宏病毒的软硬件,大概是歹意妨害用户的呆板或代码。  相关怎样获得软硬件出书商表明书更精细的消息,请参考signing code with microsoft's authenticode。若要请求该文凭,请参考 digital certificates for authenticode ;若要创造一个尝试文凭来尝试签订文献,请参考making a test software publisher certificate.  文凭散发组织天生一个适合产业规范x.509文凭方法(包括本子3扩充)的软硬件出书商表明书 。该文凭决定而且包括您的大众密匙,并以文凭散发组织存档动作参考,把一个正片以电子邮件的办法归来给您。收到该文凭之后,您该当在一切要颁布的、用个人密匙签订的软硬件傍边,包括一份该文凭的正片。赢得一个软硬件出书商表明书  您不妨运用visual c++ 5.0 光盘中cab&sign目次下的 makecert和 cert2spc 公用步调,做一个尝试软硬件出书商表明书。提防,该尝试软硬件出书商表明书对真实的软硬件颁布失效,然而不妨被用来尝试您代码的签订。  比方,要做一个个人密匙文献mykey.pvk 和一个公司文凭cert.cer,则运转公用步调makecert,其吩咐如次:c:\cab&sign\makecert-u: mykey-n: cn = mysoftwarecompany-k: mykey.pvk cert.cer  mykey 是您的密匙名,mysoftwarecompany 是您的公司名。提防公用步调 makecert 在吩咐行选项中辨别巨细写,所以您必需运用小写的-u、-n以及-k;-n选项的值必需是小写的cn=。  做一个名为cert.spc尝试软硬件出书商表明书,则运转公用步调cert2spc,吩咐如次:c:\cab&sign\cert2spc c:\cab&sign\root.cer cert.cer cert.spc  提防cert.spc文献是运用您刚运用makecert创造的cert.cer文献以及cab&sign目次底下的root.cer文献创造的 。  创造一个 cab文献  这一局部刻画怎样创造能在互连网上分配atl和mfc组件的cab文献。即使您要领会相关cab文献的更多消息,请参考cabinet文献参考书录(file reference),该文献坐落平台软硬件开拓东西包(platform sdk,包括在visual c++ 5.0联机文书档案中)的树立和体例处置效劳(setup and system management services)局部的\setup api\overview\cabinet files目次底下。  创造一个 cab文献:  创造一个inf文献。  运转大众例程cabarc(在光盘上的cab&sign目次中)。比方:c:\cab&sign\cabarc -s 6144n myctl.cab needed1.dll needed2.dll myctl.ocx myctl.inf  cabarc 创造了一个名为myctl.cab的cab文献。  您必需在您的源文献(inf、ocx以及dll文献)目次底下运转cabarc。存档在cab 文献中的文献须要在吩咐队伍出,步骤同它们在inf文献中的实足普遍。在上例中,inf文献的列出步骤是needed1.dll,而后 是needed2.dll,结果是myctl.ocx。  -s选项为代码签订保持空间。n 吩咐指定您想创造的是cab文献。cabarc 吩咐和选项的证明不妨察看,其办法是在吩咐行键入cabarc:  c:\cab&sign\cabarc创造一个inf文献  inf文献是一个文本文献,指定运转控件所须要载入大概呈交的文献(比方dll大概其它ocx)。一个inf文献就绑缚了cab收缩文献一切的必需文献。 缺省情景下,与现有硬盘中文献本子号沟通的文献不被载入。要领会相关inf文献及其选项(囊括怎样创造独力于平台的inf文献)的精细情景,请参考万维网站packaging component code for automatic download,大概参考平台软硬件开拓东西包(platform sdk,包括在visual c++ 5.0联机文书档案中)的树立和体例处置效劳(setup and system management services)局部的\setup api\overview\inf files目次下的实质。  动作示例,底下的inf是用来为atl多角形控件创造一个cab文献的。 您不妨经过从visual c++ 5.0光盘载入atl polygon示例步调来创造polygon.dll,并创造一个最小本子。创造该最小本子其余须要一个dll即 atl.dll。atl.dll要先于polygon.dll备案,所以开始把atl.dll 安置到inf傍边。; sample inf file for polygon.dll[version]; version signature (same for both nt and win95) do not removesignature="$chicago$"advancedinf=2.0[add.code]polygon.dll=polygon.dllatl.dll=atl.dll; needed dll[atl.dll]file-win32-x86=thiscabfileversion=2,00,0,7024destdir=11registerserver=yes[polygon.dll]file-win32-x86=thiscabclsid={4cbbc676-507f-11d0-b98b-000000000000}fileversion=1,0,0,1registerserver=yes; end of inf file  该inf指定了体例须要安置一定本子的atl.dll。即使体例中还没有该文献,则须要从和该inf一道创造的cab文献载入。"thiscab" 是一个要害字,意指包括该inf的cab文献。您也不妨从网左右载所须要的dll文献,只有指定一个http 网址即可,一致路途大概对立路途都不妨,比方:  file-win32-x86=http://www.mysite.com/mydir/needed.dll  要害字"file-win32-x86" 指定平台是 x86。  获得一个文献的本子号的进程是:在windows nt大概windows 95 explorer中右键点击该文献;从弹入列表中采用properties,而后在接着弹出的对话框中采用本子标签。偶尔,您大概须要在文献本子中插入一个特殊的0 。比方,对话框中表露atl.dll的本子号是2.00.7024,在inf文献中则变为2,00,0,7024 。  "destdir"指的是承载目次大概文献的地方: 11 指定于体例目次 windows/system 大概 winnt/system32; 10 规则为窗口目次、windows大概winnt。即使没有指定destdir(典范情景),则代码从恒定的occache目次承载。  "clsid" 指的是要安置控件的clsid。  创造 inf文献后,再运转cabarc公用步调(在visual c++ 5.0光盘上的cab&sign目次中)创造cab文献。您必需在您的源文献目次底下运转cabarc。存档在cab 文献中的文献须要在吩咐队伍出,步骤同它们在inf文献中实足普遍。比方,从上头的inf文献为多角形控件做一个cab文献,须要运用底下的吩咐 :  c:\cab&sign\cabarc -s 6144 polygon.cab atl.dll polygon.dll polygon.inf  该cab文献包括atl.dll和polygon.dll的收缩本子,以及将它们打开到polygon.inf 文献所须要的消息。  相关创造一个载入mfc控件的cab文献的示例,请参考mfc 4.2b component download information.您须要包括在mfc控件中的dll文献有msvcrt.dll,mfc42.dll以及 olepro32.dll。签订一个cab文献  运用code signing wizard签订一个cab文献:  1. 运转公用步调 signcode (在visual c++ 5.0光盘的cab&sign 目次下),启用code signing wizard。    c:\cab&sign\signcode  2. 在code signing wizard对话框傍边,点击next进步到下一页。  3. 在您想签订那一个步调? 编纂框中,键入您想签订的cab文献。  4.在您想在文凭中运用什么名字? 编纂框中,键入您想在文凭中运用的名字。  5. 点击next,进步到下一页。  6. 在 您想将该步调签订在哪一个软硬件开拓商文凭底下? 编纂框中,键入软硬件开拓商文凭(spc)文献名。  7. 在您要在该文凭的哪一个文献中搜索暗号、密匙? 编纂框中,键入个人密匙(pvk)文献名。  8. 贯串两次点击 next进步到结果一页。  9.点击sign,签订cab 文献。您的文献将被数字化签订。  您不妨不运用cab文献径直签订您的dll和ocx 。cab文献的长处在乎它是收缩的,并且,即使和inf文献一道运用,不妨将一切需要代码绑缚在一道。  将签订过的 cab文献嵌入一个web页  atl和mfc控件运用标签嵌入彀页。在标签,您须要为该控件指定三个属性 :   id - 控件称呼   classid - 控件的clsid   codebase - 载入控件的场所。codebase 不妨指向很多各别的文献典型。   codebase不妨径直指向一个ocx 文献大概dll文献:codebase="http://www.mysite.com/mydir/polygon.dll#version=1,0,0,1"  由于这只是实行了dll或ocx文献的载入和安置,任何需要的dll扶助必需仍旧承载到了存户机上。  即使您在cab文献中包括了选项本子号,它该当指向要载入的控件。比方,即使polygon.dll有一个本子号1,0,0,1,则cab文献的本子号也必需是1,0,0,1:codebase="http://www.mysite.com/mydir/polygon.cab#version=1,0,0,1"  即使您没有包括选项本子号,则不许替代同一个组件(即使它们出此刻存户机上的话)的老本子号。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.