mFC开发ocx控件放到网上去

5 篇文章 0 订阅
3 篇文章 0 订阅

其实这里网上能找到很多文件。

mfc开发activex控件本地好弄,但是放网上去能供别人访问或者下载还是比较细的工作。这里整理下

打包签名:

cabarc  n  test.cab  test.inf  AnEdit.ocx                                  这样就将其打包成test.cab

makecert /sv "test.pvk" /n "cn=test"  -$ "individual" -r test.cer

cert2spc test.cer test.spc

signcode.exe开始签名。

这里比较关键的其实是写 test.inf 

[version]    
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
AnEdit.ocx=AnEdit.ocx
[AnEdit.ocx]
file-win32-x86=thiscab  
RegisterServer=yes     //是否注册,不写成yes下次还提醒。
clsid={134DC7AA-A178-4432-BF32-615C27D5CD35}   
DestDir=11
FileVersion=1,0,0,1

有可能有依赖库,这个后面再说,现在这个没依赖就这样

clsid={134DC7AA-A178-4432-BF32-615C27D5CD35}    是MFC程序里的类编号

//  CAnEditCtrl 的类信息


[ uuid(134DC7AA-A178-4432-BF32-615C27D5CD35),
 helpstring("AnEdit Control"), control ]
coclass AnEdit
{
[default] dispinterface _DAnEdit;
[default, source] dispinterface _DAnEditEvents;
};

好了inf文件就这样了。

然后是web页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>nihao</title>
</head>
<p> 我的安全插件</p>
<object classid="clsid:134DC7AA-A178-4432-BF32-615C27D5CD35"id="test" CODEBASE="http://192.168.0.222/AnEdit/test.cab#version=1,0,0,1"
WIDTH=400 
HEIGHT=200 
ALIGN=center 
</object>
<body>
</body>
</html>


clsid:134DC7AA-A178-4432-BF32-615C27D5CD35跟上边一样的。  test.cab 就是刚刚上边打的包。这里不要写AnEdit.ocx 

不然签名什么的就没有意义了。

如果单是这样发网上也不行,因为证书无效,一般视为无效签名。会提示无效签名甚至不能安装。。。

原因是证书没有安装。双击证书导入,存放区域选择“受信任的根证书颁发机构”,点击完成即可。

在客户端测试:
1)        加入证书,浏览器-〉工具-〉Internet选项-〉内容-〉证书-〉受信任的颁发机构-〉导入证书。
2)        在有证书的情况下,如果服务器没有加入“可信任网址”,提示下载的时候会显示证书所签内容,没有证书则提示为“未知”。
3)        如果服务器已加入“可信任网址”,并且已导入证书,则不提示任何信息,在用户毫无感觉情况下下载。如果没有加入“可信任网址“,控件可以正常下载但仍然不能正常使用,与是否签名无关。



导入证书test.cer  ;OK ,这样就可以了有效签名直接下载使用!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值