VS2008 ACtivex 制作CAB带 Vcredist_x86.exe 方案
自己寫的 OCX或 ACTIVEX需要注冊(cè),如果是VS05或VS08開發(fā)的,還需要安裝相應(yīng) 的發(fā)行包才行
比如;08就需要安裝 vcredist08.exe(08); 這個(gè)在微軟上找或自己的VS安裝包中也可以找到
來說說關(guān)鍵的要點(diǎn);用CAB
需要把我們的開發(fā)的OCX和相關(guān)DLL打到CAB,同時(shí)還要確保客戶機(jī)上安裝 vcredist.exe否則,即使控件安裝上了也使用不了的
CAB工具下載http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe
下載后解壓到C:\CAB, 然后進(jìn)CMD, 切換當(dāng)前路徑為 c:\CAB ,操作見下吧
1, cabarc.exe -s 6144 N X.CAB X.ocx X.inf A.dll
意思是: -s 設(shè)置大小,6144表示64K, 這個(gè)不管它吧
N 表示要?jiǎng)?chuàng)建一個(gè)CAB包;
X.CAB 就是生成 的CAB包文件名了
X.OCX即我們的開發(fā)的控件文件名了,
X.inf 就是CAB的安裝內(nèi)容,這個(gè)有麻煩,放后面說它
A.dll就是我們的控件需要用到的DLL文件,如果有其它的還需要也加在,在后面加空格
一 一加上吧;
2、X.inf 內(nèi)容
;//下面這三行,照抄就行,主要是版本信息,非特殊不要更改,直接照寫就行
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
;//這就是要安裝的文件了,包括控件和相關(guān)文件
[Add.Code]
X.OCX = X.OCX
A.DLL = A.DLL
;//上面兩個(gè)是控件所用的
;//下面這行是另外增加的,主要是安裝VC發(fā)行包(vcredist_x86.exe就是發(fā)行包的安裝名,見后)
vcredist_x86.exe=vcredist_x86.exe
[X.OCX]
;//指定O.ocx 是從CAB包里獲取
file-win32-x86=thiscab
;//x.ocx 的CLASSID信息
clsid={1D73A88F-8621-498F-B7CD-F6485620F3AA}
;//x.ocx文件版本; (就是文件屬性里面那個(gè)文件版本號(hào))
FileVersion=1,0,0,1
;//是否為自動(dòng)注冊(cè),一般都是需要注冊(cè)的喲
RegisterServer=yes
[A.DLL]
file-win32-x86=thiscab
;同上了,也可加上版信息
;//
FileVersion = 1,1,1,1
;//這里注意了,發(fā)行包安裝的信息
[vcredist_x86.exe]
fileVersion=9,0,30729,17
hook=InstallerHook
;//這項(xiàng)并沒有設(shè)置file-win32-x86的值,因?yàn)樗⒉辉贑AB里面,這里設(shè)置了一HOOK,讓HOOK
;//來處理
//發(fā)行包的安裝來源
[InstallerHook]
;//這里安裝默認(rèn)是在同X.CAB的目錄,如果是在網(wǎng)站,可以更改為URL路徑
;//如:http://www.x.com/vcredist.cab
file-win32-x86=VCredist.CAB
;//這里就是讓CAB自動(dòng)解壓過后,運(yùn)行CAB包里面的 vcredist_x86.exe
run=%EXTRACT_DIR%\vcredist_x86.exe
配置完畢
這里需要兩個(gè)CAB,一個(gè)是我們的控件 X.cab 另一個(gè)是發(fā)行包的 VCRedist.CAB 里面只有一個(gè)文件 vcredist_x86.cab
( cabarc.exe N VCRedist.cab vcredist_x86.exe ) 運(yùn)行此命令需設(shè)置全路徑或切換vcredist_x86.exe所在目錄再運(yùn)行命令
好了,在網(wǎng)頁里面,設(shè)置控件的 codebase="X.CAB" 安裝時(shí)會(huì)自動(dòng)下載 vcredist.cab并且安裝,但這個(gè)是有界面操作的,就是安裝的時(shí)候需要用戶點(diǎn)下一步什么的,并不是安靜安裝模式。。
另參見MSDN:http://msdn.microsoft.com/en-us/library/aa751974%28VS.85%29.aspx#cabdl
微軟的CAB包制作方法:
http://msdn.microsoft.com/en-us/library/aa751974%28VS.85%29.aspx#cabdl
轉(zhuǎn)載于:https://www.cnblogs.com/memaxiaofeng/archive/2013/04/02/3275498.html
總結(jié)
以上是生活随笔為你收集整理的VS2008 ACtivex 制作CAB带 Vcredist_x86.exe 方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程初学者的良言警句_程序员
- 下一篇: 阿里HR有多敬业,Python程序员:恐