在.NET Framework 的 4 的 Internet Explorer 的 managed 裝載的控制項是停用

徵狀

Internet Explorer 無法啟動使用 managed 裝載控制項的瀏覽器的應用程式。

原因

這是原本設計,以停用 Microsoft.NET Framework 4 中的 IEHost 或更新版本。

因應措施

若要解決這個問題,您可以啟用 Internet Explorer 使用受管理的EnableIEHosting值設為 1,一次裝載控制項的瀏覽器。若要這樣做,請使用下列其中一種方法:

  • 的 x86 系統或 64 位元處理程序在 x64 系統:移至HKLM\SOFTWARE\MICROSOFT\.NETFramework登錄機碼和變更EnableIEHosting值為1

  • X64 上的 32 位元處理程序的系統:到 HKLM\SOFTWARE\Wow6432Node\MICROSOFT\。NETFramework 登錄機碼和變更EnableIEHosting值為1

注意在這個模式中執行的應用程式的組件是已知的安全性弱點。客戶應該瞭解本文所述的風險。沒有測試過並記錄的方式,來降低的風險。有許多選擇項目,例如 Microsoft ClickOnce 應用程式,XAML 瀏覽器應用程式 (Xbap),而且 Microsoft Silverlight,可提供您較高的安全性和延展性。

其他相關資訊

IEHost 是 Microsoft.NET Framework 1.1 為主的技術,提供更好的模型,比要在瀏覽器中的主控制項的 ActiveX 控制項。IEHost 控制項是輕量,並會產生些許下它們會產生些許沙箱內的.NET 安全性模型。從.NET Framework 4 中,我們會移除 IEHost.dll 檔,原因如下:

  • IEHost/HREF EXE-樣式的控制項都會公開至網際網路。這種作法構成高的安全性風險,並安裝架構的大部分客戶都優點很少從這種安全性風險。

  • 管理裝載控制項並叫用隨機的 ActiveX 控制項可能不安全的且無法對抗這項風險,在.NET Framework 中。因此,主應用程式的能力會停用。我們強烈建議 IEHost,應該在任何實際執行環境中停用。

  • 潛在的安全性弱點,以及預設的應用程式定義域中的組件版本控制衝突。仰賴載入您的組件的 COM Interop 包裝函式,它會隱含地載入預設應用程式定義域中。如果其他的瀏覽器延伸做相同的函式,它們具有風險公開的詳細資訊,例如預設應用程式定義域中等等。如果您不以相依性使用強式名稱組件,則會發生的型別載入例外狀況。自由,因為您並未擁有主機處理序,並在載入您的擴充之前,無法執行任何程式碼,您無法設定通用語言執行階段 (CLR)。

如需有關EnableIEHosting值的詳細資訊,請前往下列 Microsoft 網站:

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×