2008-12-16 110 views
0

我是一名Web開發人員,目前我的任務是構建一個ActiveX組件。自動安裝activeX

這是我第一次使用ActiveX,我設法做出了一個實例。

但是我無法從瀏覽器進行ActiveX安裝。當使用Visual Studio 2008進行安裝並運行網頁時,所有工作都按預期工作,當我沒有安裝它時,我會期待類似於Windows更新的問題,詢問我是否允許安裝,但是這種情況不會發生......

這裏是我怎樣,我把它放在網頁:

<object id="myActiveX" name="myActiveX" classid="clsid:A68B19C8-9DB4-49e4-912F-37FB44968528" 
       codebase="http://localhost/myWebSite/install.cab#version=1,0,0,0"></object> 

中的classid的GUID我爲我的類創建的GUID相匹配。

任何人都可以指出我錯過了什麼嗎?

編輯:

忘記提到這一點,我有我的ActiveX安裝項目,使用一個.inf文件生成

我已經做了cab文件與一個.msi和的Setup.exe像這樣:

[version] 
signature="$CHICAGO$" 
AdvancedINF=2.0 
[Setup Hooks] 
hook1=hook1 

[hook1] 
run=msiexec.exe /i %EXTRACT_DIR%\Install.msi /qf 

回答

2

你可能要檢查你的IE安全設置:默認情況下,未簽名的ActiveX控件被忽略。

這裏的另一種可能性:

你標記您的控制爲「安全執行腳本」和「安全初始化」?

我不確定這是否是您遇到的問題,因爲1)您的示例HTML代碼未顯示您在腳本中使用該控件,並且2)表示HTML代碼段未顯示您設置控件屬性。 但是這是一個常見的陷阱,所以如果我是你,我會看看。

IIRC這可以通過實現IObjectSafety接口或使用註冊表設置來實現。

This這是2個讓你開始的指針。

+0

感謝您的回覆。 安全設置,我檢查的第一件事。 我使用頁負載的控制,如下所示:`<體的onload = 「document.myActiveX.myMethod();」>` 類在我的ActiveX控件已經在實施IObjectSafety的.. 在這一點上,我很確定我的問題是在INF文件中。我已經將cad提取到了一個空的目錄,修改了`run = msiexec.exe/i%EXTRACT_DIR%\ Install.msi/qf`到`run = msiexec.exe /ic:\temp\Install.msi/qf`然後右鍵單擊該文件並單擊「安裝」。 這是我寫的第一個INF文件,我認爲這個肩膀 – Sergio 2008-12-16 13:31:08