日期:2014-05-17  浏览次数:20929 次

[整理]关于在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