基于.NET开发ActiveX控件,参考文章:http://hi.baidu.com/1987raymond/blog/item/15134ccf6fffc131f8dc6117.html(文章一),http://www.cnblogs.com/ArthurYan/archive/2008/12/04/1347276.html (文章二)
具体的步骤上面的两篇文章都写的很详细,我在这里就不多啰嗦了。
这里主要总结一下我根据上面两篇文章做的Demo
1,添加ActiveX控件,在控件里编辑自己需要实现的内容;
2,用户控件继承IObjectSafety接口,同事也用到了COM Interoperability,以此声明我们的控件是脚本安全的;
3,需要在程序中添加强签名;以便防止用户安装后我们的控件被篡改,这需要用到数字签名、数字证书方面的知识,详情参考.NET中的安全性之数字签名、数字证书、强签名程序集、反编译。
4,关于修改项目属性,对于包含ActiveX的类库,右键属性-->应用程序-->程序集信息(I)-->勾选“是程序集COM可见(M)”;生成-->勾选为COM互操作注册。
5,创建CAB文件,添加一个安装部署应用程序,为ActiveX类库制作一个安装程序Setup1.msi,在这里将RemovePreviousVersions属性设置未True. 然后设置主输出的属性,需要将Register属性设置为vsdrpCOM(这个属性是表示在安装后,安装程序自动为你的主输出注册成com),然后生成整个项目。
然后下载一个CABARC.EXE工具,然后根据文章二中的步骤很容易就可以生成.cab文件。
6,关于运行,将CAB,msi(因为需要下载)放置到web项目中,部署到IIS上,首先下载msi安装AcriveX控件,然后刷新页面,安装注册ActiveX控件。
7,文章中有我的Demo和CAB制作工具的下载链接。
8,我是第一次制作ActiveX控件,总结的如有问题,欢迎大家指正,谢谢!