在前面我們已經完成了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:源碼下載