在前面我們已經完成了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控制項》完結。