在前面我们已经完成了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:源码下载