描述:
我用atl写了一个Activex控件,其中用到了#include <afxinet.h> 中的 CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
这两个类(当然我选择了支持mfc),在装有vc的环境下编译通过了,我想发布这个小控件。不知道具体怎么做。帮帮忙吧。
解决方案1:
我用的是测试证书,如果要发布到Internet需要到CA机构申请证书.
至于你的ATL中用到的运行库可以用C:\Program Files\Microsoft Visual Studio\Common\Tools\DEPENDS.EXE来跟踪.
打包工具包:
申请证书:Win2000:控制面板-管理工具-证书颁发机构[没有则更新组件]Http://127.0.0.1/CertSrv/
签名工具包:http://download.microsoft.com/download/b/e/f/bef2551b-401d-4311-ab8f-13d3892b8154/codesigningx86.exe
创建PVK文件[私人密匙文件]
makecert -sk DigitalTitan DigitalTitan.pvk
makecert -n CN=TelStar TelStar
创建CER文件[公司证书]
makecert -sk DigitalTitan.pvk TelStar.cer
创建SPC测试软件出版商证明书
cert2spc root.cer TelStar.cer TelStar.spc
创建INF文件
[version]
signature="$CHINA$"
AdvancedINF=2.0
[Add.Code]
WebOffice.ocx=WebOffice.ocx
mfc70.dll=mfc70.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[mfc70.dll]
file-win32-x86=thiscab
FileVersion=7,0,9466,0
DestDir=11
RegisterServer=yes
[msvcrt.dll]
file-win32-x86=thiscab
FileVersion=6,1,9844,0
DestDir=11
RegisterServer=yes
[olepro32.dll]
file-win32-x86=thiscab
FileVersion=5,0,4522,0
DestDir=11
RegisterServer=yes
[WebOffice.ocx]
file-win32-x86=http://10.70.151.253:9003/ActiveX/WebOffice.cab
clsid={05430EC0-69CA-437A-B1F9-4B78B8647BEA}
FileVersion=1,0,0,1
RegisterServer=yes
;
创建CAB文件
cabarc -s 6144 n WebOffice.cab mfc70.dll msvcrt.dll olepro32.dll ASYCFILT.DLL STDOLE2.TLB WebOffice.ocx WebOffice.inf
使用Code Signing Wizard签署一个CAB文件
SIGNCODE.exe
另:
makeCert -sk DigitalTitanKey -n "CN=TelStar" -ss TelStar TelStar.cer
makecert -is TelStar -ic TelStar.cer -ss TelStarCompany.cer
Cert2SPC MyCert.cer MyCert.spc
你发布release版本就没有这个问题了!还有在setting设置静态调用mfc库!