2008-12-03 116 views
2

我正在研究一個需要ActiveX控件運行的web應用程序。當用戶具有管理員權限時安裝得很好,但無法加載。這是由設計,如果是這樣,這是記錄在某處? (最好是MSDN)您可以在沒有管理員權限的情況下在IE中安裝ActiveX控件嗎?

+0

只是出於興趣,你需要什麼控制?我不認爲我會在開始開發之前構建一個需要ActiveX的應用程序,而不會意識到複雜性。 – scunliffe 2008-12-04 00:15:33

+1

這是我們自己對內部應用程序的控制。 – Ferruccio 2008-12-04 02:46:38

回答

3

其實,所有這些答案是完全正確的;如果您以每個用戶的身份安裝ActiveX控件,則無論用戶所在的組是否具有管理權限,都可以正常工作。基本上,這涉及將其安裝到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE。

取決於你寫的activex控件的內容可能很簡單,或者可能很難改變;與ATL 9這是很容易,因爲你只需要調用一個函數:

AtlSetPerUserRegistration(perUser); 

FireBreath默認情況下,這樣的管理權限不neccesary安裝插件/控制做到這一點;它也有一個workaround for older versions of ATL(ATL 9是VS 2008)。這都是C++,所以如果你的控件是用別的東西寫的,我不知道如何解決它,但至少應該讓你開始。

1

複雜的答案:是的。用戶的帳戶需要成爲註冊庫(dll)或控件(ocx)或需要直接分配該特權的組的一部分。

答案很簡單:號只有具有行政privelege佔安裝OCX控件或DLL可以安裝Active-X控件(由默認這些帳戶是管理員,域管理員或Power Users組的一部分)。

編輯:我想這個問題改變了......是的,這是設計。

+1

這不完全正確;沒有管理員權限的帳戶可以安裝控件,如果它們被設計爲可安裝在HKEY_CURRENT_USER中而不是HKEY_LOCAL_MACHINE(默認值)。 HKEY_CLASSES_ROOT是兩個組合與HKCU覆蓋HKLM密鑰的組合。查看我的答案獲取更多信息 – taxilian 2011-09-19 15:36:22

相關問題