[整理]关于在ASP.net项目中使用ActiveX控件的问题
[整理]关于在ASP.net项目中使用ActiveX控件的问题
2010年08月14日
一、编写标准控件
activex控件,可以使用C#开发类似Activex的控件,但是要求客户端有.net运行环境(具体的方法见下面附录)
最好还是用VC、VB等语言创建标准ActiveX控件比较好
我使用的是VS2008中的MFC Activex控件项目编写的控件
在项目属性里面需要调整(熟悉VC开发的应该比我更清楚)
MFC的使用:在静态库中使用 MFC
公共语言运行时:无公共语言运行时支持
配置类型:静态库(.lib)
我随便找了个demo,因为对VC实在不熟悉所以直接看链接吧
http://www.cnblogs.com/guenli/articles/1629915.html
这个生成成功后会生成OCX文件
===============================================================
二、打包/发布
具体的步骤
http://blog.csdn.net/kamaliang/archive/2009/02/15/3894084.aspx
需要注意的是里面的signcode程序是net1.1之前的老版本了,现在的工具是signtool
在sdk中有,直接拷贝到ocx同目录下就行了
(我的signtool在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin目录中)
里面的命令也不同,具体的看msdn吧
http://msdn.microsoft.com/zh-cn/library/8s9b9yaz(v=VS.80).aspx
关于数字证书的问题
1、上面的教程中所说的PVK文件(私人密匙文件)、CER文件(公司证书),SPC文件没什么太多意义,因为这个是自己制作的
就算发布到网上还是会提示未知发行商,所以你不按照教程生成也行,反正我是没用上
2、免费的证书可以去ca365申请,但是这个证书好像也不是那种直接就能用的,估计要想直接让客户端信任的话花钱是肯定的了
不过好像还有另外的方法,就是用淘宝的证书,不过我试了,还是不行,也可能是我做的有问题,如果有知道的请PM我
===============================================================
三、其他问题
发布后会遇到客户端无法安装或者安装后无法正常运行的问题,这时可以将测试代码复制到本地html文件中运行
如果可以运行则控件是没问题的,问题在于浏览器的安全选项,添加信任站点和降低activex控件的权限就行了
如果本地也无法运行的话则使用软件查看控件是否正确注册===============================================================
附:
1、C#开发类似控件请参考
http://www.cnblogs.com/ArthurYan/archive/2008/12/04/1347276.html
2、ActiveX控件的另类免费签名法
http://www.cnblogs.com/downcom/archive/2009/01/19/1264499.html