最近用C#开发了一个ActiveX控件,并且让该控件实现了IObjectSafety接口(该接口的实现肯定没有问题).
然后在项目属性中我设置了使“程序集COM可见”和“为COM Interop注册”两个选项!!
打包的时候我设置了项目生成的tlb类型库的Register属性为vsdrpCOM!!我觉得应该没有什么需要设置的了,然后打包。。
我找了台测试机,配置好环境后,进行安装打包程序,一切正常,可是打包引用该控件的网页时候,总是提示没有安装控件,是否安装,这可如何是好,在网上找了很多的资料,说都是打成CAB包的,还有用我这种方法的,由于我的打包程序里有很多其他的类库,打成CAb包难度较大,所以选择了这种方式
请问高手们,谁能解决次问题,我先谢谢了
然后在项目属性中我设置了使“程序集COM可见”和“为COM Interop注册”两个选项!!
打包的时候我设置了项目生成的tlb类型库的Register属性为vsdrpCOM!!我觉得应该没有什么需要设置的了,然后打包。。
我找了台测试机,配置好环境后,进行安装打包程序,一切正常,可是打包引用该控件的网页时候,总是提示没有安装控件,是否安装,这可如何是好,在网上找了很多的资料,说都是打成CAB包的,还有用我这种方法的,由于我的打包程序里有很多其他的类库,打成CAb包难度较大,所以选择了这种方式
请问高手们,谁能解决次问题,我先谢谢了
VB开发ActiveX控件步骤:
1、创建一个ActiveX Control的项目 2、绘制ActiveX控件的操作界面,并且编写代码 3、特别注意:在项目的属性上的Make页,有一个Version Number区域,需要你写当前控件的 版本号,这个地方和自动下载有密切关系!当你远端的Web浏览器检查到本机的控件版本号 和服务器上不一样的时候,浏览器就会自动从服务器下载新版本控件进行安装,所以你编译 的新版本控件一定要改版本号!否则可能导致远程无法更新。 4、编译ActiveX控件 ActiveX控件打包步骤: 本例子以Studio 6.0自带的打包工具为例。 1、选择当前选用的VB ActiveX项目进行打包。 2、其中在选择Package Type的时候有3个选项: 1)Standard setup package 2)Internet Package 3)Dependency File 选择第二个! 3、到选择File Source的时候有3个选项:
1)Include in this cab 2)download from microsoft web site 3)download from alternate web site 以上选项是针对程序包含的每一个相关dll,ocx的,所以,如果你要修改参数,需要一个个文件设置! 我建议是都选择第一项!因为有些控件从外部更新,可能会遇见证书之类的问题, 可能导致你的程序无法使用,因此,全部使用本地的是最省心的选择! 打包过程的其他步骤,没有特别说明的,全部用默认设置! 4、在发布控件的网站根目录下建一个目录,就叫ActiveX吧,把打包装后的Package目录中的所有文件 复制到ActiveX目录。 5、打包完成后修改测试例子htm文件: 打包完成后,工具会自动产生一个和项目名称一样的htm文件,里面代码如下:<HTML>
<HEAD>
<TITLE>WebActiveX.CAB</TITLE>
</HEAD>
<BODY>
<!-- If any of the controls on this page require licensing, you must
create a license package file. Run LPK_TOOL.EXE to create the
required LPK file. LPK_TOOL.EXE can be found on the ActiveX SDK,
http://www.microsoft.com/intdev/sdk/sdk.htm. If you have the Visual
Basic 6.0 CD, it can also be found in the \Tools\LPK_TOOL directory. The following is an example of the Object tag:<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
</OBJECT>
--><OBJECT ID="ActiveXDrive"
CLASSID="CLSID:F68EC215-0F14-416F-B680-FF8C772A0B47"
CODEBASE="WebActiveX.CAB#version=1,1,0,0">修改为:CODEBASE="http://130.50.26.221/ActiveX/WebActiveX.CAB#version=1,1,0,0">
</OBJECT>
</BODY>
</HTML>注意上面红色字体部分。客户端IE设置:
1、打开IE->Internet 选项->安全->internet,把安全级设置为低!要注意“自定级别”里面, 有没有对ActiveX的限制,要是有全放开!2、要是安装有防火墙软件的,要注意这些软件对http访问有没有限制,要是有全放开! 最后一步:嘿嘿,在另一台电脑上访问发布ActiveX控件的服务器。应该成功了吧!
http://www.cnblogs.com/GavinCome/archive/2008/08/02/1258905.html
有源码.有真像
没证书的话让客户下载安装包后手动装倒是可以,.NET Framework包也要一起打进安装包中。