随笔 - 49  文章 - 2  评论 - 383 

在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了。

        首先,我们建立一个windows安装项目,并将ActiveX控件的主输出添加到项目输出中。然后,改动ActiveX控件的主输出文件,将其Register属性改为vsdrpCOM.如图:

下一步,我们改动项目属性,将引导程序更改为 Web引导程序。很遗憾的是,在 Web引导程序设置 中的安装文件夹URL中必须使用绝对路径,不能使用相对路径。这意味着生成安装程序的时候就必须确定路径,不是很方便。在示例中,我使用了localhost,在发布中可以改为实际的域名。

    现在我们生成安装程序,并把相应得程序拷贝到正确的目录中(本例中为默认网站目录下的ActiveX文件夹中)。我们可以直接执行Setup.Exe文件,以验证安装文件的正确性。在我的机器上正确执行了,成功了!

 

    现在我们又要重新改动helloworld.htm文件了。修改后的结果如下:

<body bgcolor='#223344'>

<object id="helloworld"

   classid="clsid:9551B223-6188-4387-B293-C7D9D8173E3A" Width="184" Height="96" codebase="ActiveX/Setup.Exe"

> 

</object>

<br>

<input type='button' onclick='helloworld.ShowMessage("Hello World!")' value='Click'>

</body>

注意,我们在object块中加入了codebase属性,这就是制定的下载控件的位置,可以使用相对路径。别忙,我们现在还不能正确请求这个页面,因为我们还没有对我们的控件进行签名。签名可以采用两种方式,一种是在上面生成安装程序的时候签名,另一种是使用sn.exe签名。推荐大家使用后者,因为可以提供更多选项。本人很懒,就不多写了,大家可以参考csdn上的文章《发布ActiveX。先给给大家提个醒,在申请证书的时候选择 高级证书申请。

 

       至此,《用C#编写ActiveX控件》完结。大家有什么问题,可以和我留言。 

       NEW:源码下载

红马天下 版权所有
博客:http://homer.cnblogs.com/
欢迎转载,但转载必须注明作者和出处。

posted on 2005-01-26 21:07 红马天下 阅读(20430) 评论(45)  编辑 收藏 所属分类: Asp.Net

  回复  引用  查看    
2005-01-27 10:11 | 水云间      
这种方法很不错哟,我得先试一下,感谢先!但有个不足的地方就是客户端还是会出现安装界面,还要点下一步,等操作,最好能做成后台安装的模式就好了。呵呵!学习中。。。。
  回复  引用  查看    
2005-01-27 10:51 | Lion      
这一系列的文章很好....
  回复  引用    
2005-02-12 17:26 | yeetins [未注册用户]
红马天下,能不能给个邮箱,有些具体的问题想交流一下

这是我的:justinme@tom.com 直接给我发邮件也可以,谢谢了
  回复  引用    
2005-02-15 10:54 | zhangqiwu [未注册用户]
按你说的,我做成你了activex dll,并且在本地是可以完全执行的!
我将html文件,dll文件拷贝到安装有NET Framework Version 2.0 Redistributable Package.exe的电脑上,为什么不能显示activex空间呢?
  回复  引用    
2005-02-15 10:57 | zhangqiwu [未注册用户]
像VB开发的那些activex dll的注册方法行不通!
像这样子的dll文件在电脑上如何注册呢?
  回复  引用    
2005-02-15 11:05 | zhangqiwu [未注册用户]
这样的Dll好像还不能被一些支持传统activex dll的软件所支持啊!
  回复  引用    
2005-03-07 15:28 | mxf [未注册用户]
1和2在哪里
  回复  引用    
2005-04-11 14:34 | linuxyf [未注册用户]
为什么客户端调用的时候得安装啊,不能直接调用dll文件吗?


  回复  引用    
2005-04-11 14:36 | linuxyf [未注册用户]
发布的时候,能不能直接发布成dll格式的,以后调用的时候不用安装的啊?
  回复  引用  查看    
2005-06-27 09:19 | 福星人      
如果客户端都要装.net 那就一点意思的没了
  回复  引用  查看    
2005-06-27 10:09 | 红马天下      
这只是一种思路,有时候说不定能帮你。其实要装framework问题也不大吧,为什么大家能容忍applet要装虚拟机,而不能容忍这样的ActiveX需要装framework呢?或许等longhorn普及了,将会更有用处。
  回复  引用  查看    
2005-06-27 13:40 | DrkBreeze      
我想说 用 regsvr32 无法注册该DLL ,我如果想移植到其他服务器上,无法注册还是不能用
  回复  引用    
2005-07-13 09:41 | lchq_pq [未注册用户]

如果在ActiveX控件中要调用API,请问该怎么做啊??
  回复  引用  查看    
2005-07-25 15:58 | 命运有自己的梦!      
请问ActiveX怎样和服务器端交互?
  回复  引用    
2005-08-22 21:41 | 郑小兰 [未注册用户]
苛刻
  回复  引用    
2005-12-20 17:49 | colin [未注册用户]
我按照上面的成功實現,但是注冊的時候怎麼使用程序注冊這個控件呢?使用.net語法?望樓主大哥多多指教
  回复  引用    
2006-03-30 23:55 | d [未注册用户]
;;
  回复  引用    
2006-03-30 23:55 | d [未注册用户]
;oijoi
  回复  引用  查看    
2006-04-08 11:30 | S.Sams      
我想知道,C# ActiveX 如何和Javascript通讯
即如何调用Javascript的函数!
  回复  引用    
2006-04-19 16:36 | xieqi [未注册用户]
我下载了源码,只生成了HelloWorld.dll,但Setup.Exe再哪里啊?,没有看到啊!!
  回复  引用    
2006-04-19 16:37 | xieqi [未注册用户]
我下载了源码,只生成了HelloWorld.dll,但Setup.Exe再哪里啊?,没有看到啊!!
  回复  引用    
2006-06-21 17:04 | goodSmile [未注册用户]
我下载你的源码,在我的机器调试上可以,别人访问的话就出不来了,客户端也安装了.net framework
  回复  引用    
2006-06-22 15:10 | nfsuperman [未注册用户]
这个例子其实是很有价值的,我也正准备将这个技术用在工作中,不过在发布的时候遇到了麻烦,哪位高人肯伸出援助之手吗?
nf_superman@163.com
Thanks
  回复  引用    
2006-06-22 15:46 | zzz [未注册用户]
请问一下,自定义的用户组件可以放在ActiveX控件吗?
  回复  引用    
2006-06-26 11:11 | yinzq [未注册用户]
我想在控件中调用xml Web service 但是在客户端要求安装IIS,这是为什么,如何解决,敬请指点
  回复  引用    
2006-06-28 17:51 | nfsuperman [未注册用户]
我也跟你一样在控件中调用xml Web service ,
有兴趣的话交流下吧
nf_superman@163.com
  回复  引用    
2006-10-19 22:25 | zahot [未注册用户]
这不能叫ACTIVEX控件,应该叫FORM组件(控件),最后的安装是多余的,.NET平台程序集(包换组件、控件)可以直接寄宿在IE里,而且此控件的权限只使用了部分受信任的代码权限,如果要安装的话倒时可以考虑发布安全策略。本人MSN:ZAHOT@MSN.COM可以交流
  回复  引用    
2007-03-20 09:18 | 愁愁愁愁 [未注册用户]
强烈关注续集,有没有相关I/O操作的实例,比如在客户端读取磁盘、端口、调用外设的?
  回复  引用    
2007-04-10 21:40 | babeway [未注册用户]
如果客户要安装框架,那么程序做得再漂亮也不过是winform的样子。既然客户需要装框架,那么和C/S程序有什么区别呢!
  回复  引用    
2007-04-18 12:52 | fengziyoyo [未注册用户]
我按照上面的方式,在ie7下,插件能显示,但是为什么调用里面的事件没有反应?我实在本地都没有实现。
忘指教
  回复  引用    
2007-04-18 13:20 | RUN [未注册用户]
传统的activex控件可以在word等应用程序中使用,这种c#写的activex控件如何用regsvr32注册?如何在word等应用程序中使用呢?
  回复  引用    
2007-08-05 14:47 | 艾山 [未注册用户]
谢谢你!
  回复  引用    
2007-08-08 20:59 | ccimage [未注册用户]
按照作者的办法,安装部署 运行都没有问题。最大的弊端就是要装framework。还有,希望作者能写一下如何控制页面脚本。(被页面脚本控制已经实现了)。
  回复  引用    
2007-08-08 21:00 | ccimage [未注册用户]
传授传授给我这样的菜鸟 呵呵
  回复  引用    
2007-08-17 15:35 | marion [未注册用户]
说实话 不是很明白
  回复  引用    
2007-09-16 11:04 | lj_lt [未注册用户]
vs2005做的控件VB6下使用,输入汉字为什么是乱码?
比如说vs2005的textbox,combo
在VB下使用
输入汉字,显示是乱码
复制,粘贴到上面没问题
奇怪了

  回复  引用    
2007-10-10 21:13 | bbqq [未注册用户]
希望继续交流.....
  回复  引用    
2007-10-10 21:15 | bbqqw [未注册用户]
用C#编写ActiveX控件(三) 下一步,我们改动项目属性,将引导程序更改为Web引导程序。很遗憾的是,在Web引导程序设置中的安装文件夹URL中必须使用绝对路径,不能使用相对路...

  回复  引用    
2008-06-25 14:13 | 义乌货代公司 [未注册用户]
宁波贷款
宁波贷款公司
宁波抵押贷款
融资贷款
抵押贷款
个人信用贷款
房产抵押贷款
企业抵押贷款
中小企业无抵押贷款
按揭房再贷款(加按揭、转按揭)
二手房买卖贷款
信用证融资贷款
机械设备按揭贷款
担保贷款
短借贷款


宁波贷款
宁波贷款公司
宁波抵押贷款
融资贷款
抵押贷款
个人信用贷款
房产抵押贷款
企业抵押贷款
中小企业无抵押贷款
按揭房再贷款(加按揭、转按揭)
二手房买卖贷款
信用证融资贷款
机械设备按揭贷款
担保贷款
短借贷款


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-01-28 11:53 编辑过


相关链接: