在前面我们已经完成了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:源码下载
posted on 2005-01-26 21:07
红马天下 阅读(20430)
评论(45) 编辑 收藏 所属分类:
Asp.Net
发表评论
这种方法很不错哟,我得先试一下,感谢先!但有个不足的地方就是客户端还是会出现安装界面,还要点下一步,等操作,最好能做成后台安装的模式就好了。呵呵!学习中。。。。
红马天下,能不能给个邮箱,有些具体的问题想交流一下
这是我的:justinme@tom.com 直接给我发邮件也可以,谢谢了
按你说的,我做成你了activex dll,并且在本地是可以完全执行的!
我将html文件,dll文件拷贝到安装有NET Framework Version 2.0 Redistributable Package.exe的电脑上,为什么不能显示activex空间呢?
像VB开发的那些activex dll的注册方法行不通!
像这样子的dll文件在电脑上如何注册呢?
这样的Dll好像还不能被一些支持传统activex dll的软件所支持啊!
为什么客户端调用的时候得安装啊,不能直接调用dll文件吗?
发布的时候,能不能直接发布成dll格式的,以后调用的时候不用安装的啊?
这只是一种思路,有时候说不定能帮你。其实要装framework问题也不大吧,为什么大家能容忍applet要装虚拟机,而不能容忍这样的ActiveX需要装framework呢?或许等longhorn普及了,将会更有用处。
我想说 用 regsvr32 无法注册该DLL ,我如果想移植到其他服务器上,无法注册还是不能用
如果在ActiveX控件中要调用API,请问该怎么做啊??
我按照上面的成功實現,但是注冊的時候怎麼使用程序注冊這個控件呢?使用.net語法?望樓主大哥多多指教
我想知道,C# ActiveX 如何和Javascript通讯
即如何调用Javascript的函数!
我下载了源码,只生成了HelloWorld.dll,但Setup.Exe再哪里啊?,没有看到啊!!
我下载了源码,只生成了HelloWorld.dll,但Setup.Exe再哪里啊?,没有看到啊!!
我下载你的源码,在我的机器调试上可以,别人访问的话就出不来了,客户端也安装了.net framework
这个例子其实是很有价值的,我也正准备将这个技术用在工作中,不过在发布的时候遇到了麻烦,哪位高人肯伸出援助之手吗?
nf_superman@163.com
Thanks
请问一下,自定义的用户组件可以放在ActiveX控件吗?
我想在控件中调用xml Web service 但是在客户端要求安装IIS,这是为什么,如何解决,敬请指点
我也跟你一样在控件中调用xml Web service ,
有兴趣的话交流下吧
nf_superman@163.com
这不能叫ACTIVEX控件,应该叫FORM组件(控件),最后的安装是多余的,.NET平台程序集(包换组件、控件)可以直接寄宿在IE里,而且此控件的权限只使用了部分受信任的代码权限,如果要安装的话倒时可以考虑发布安全策略。本人MSN:ZAHOT@MSN.COM可以交流
强烈关注续集,有没有相关I/O操作的实例,比如在客户端读取磁盘、端口、调用外设的?
如果客户要安装框架,那么程序做得再漂亮也不过是winform的样子。既然客户需要装框架,那么和C/S程序有什么区别呢!
我按照上面的方式,在ie7下,插件能显示,但是为什么调用里面的事件没有反应?我实在本地都没有实现。
忘指教
传统的activex控件可以在word等应用程序中使用,这种c#写的activex控件如何用regsvr32注册?如何在word等应用程序中使用呢?
按照作者的办法,安装部署 运行都没有问题。最大的弊端就是要装framework。还有,希望作者能写一下如何控制页面脚本。(被页面脚本控制已经实现了)。
vs2005做的控件VB6下使用,输入汉字为什么是乱码?
比如说vs2005的textbox,combo
在VB下使用
输入汉字,显示是乱码
复制,粘贴到上面没问题
奇怪了
用C#编写ActiveX控件(三) 下一步,我们改动项目属性,将引导程序更改为Web引导程序。很遗憾的是,在Web引导程序设置中的安装文件夹URL中必须使用绝对路径,不能使用相对路...
宁波贷款
宁波贷款公司
宁波抵押贷款
融资贷款
抵押贷款
个人信用贷款
房产抵押贷款
企业抵押贷款
中小企业无抵押贷款
按揭房再贷款(加按揭、转按揭)
二手房买卖贷款
信用证融资贷款
机械设备按揭贷款
担保贷款
短借贷款
宁波贷款
宁波贷款公司
宁波抵押贷款
融资贷款
抵押贷款
个人信用贷款
房产抵押贷款
企业抵押贷款
中小企业无抵押贷款
按揭房再贷款(加按揭、转按揭)
二手房买卖贷款
信用证融资贷款
机械设备按揭贷款
担保贷款
短借贷款