用C#编写ActiveX控件(三)
在前面我们已经完成了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-C7D9D8173E
3A
" 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:
源码下载