広告

2014年7月19日土曜日

IEアドオン(ブラウザ ヘルパ オブジェクト・BHO) をIE11拡張保護モードで動作させる情報源まとめ

Windows8及びIE11は更にセキュリティが強化され、拡張保護モードという概念が追加されています。
そのためブラウザ ヘルパ オブジェクト(BHO)で実装されたIEアドオンは、拡張保護モード有効時では動作しません。正確に言うと、IEから読み込まれることすらしません。

既存のIEアドオンを拡張保護モード有効時に動作させるための情報源をまとめておきます。


■拡張保護モードについて


英語ですが、拡張保護モードについてはこの記事が一番網羅的でわかり易いと思います。
Understanding Enhanced Protected Mode - IEInternals - Site Home - MSDN Blogs


MSサポートチームの人がもう少し噛み砕いたのがこちらの記事。
Blogs - Japan IE Support Team Blog - Site Home - TechNet Blogs



■ ブラウザ ヘルパ オブジェクト(BHO)について


そもそもIEアドオンをどのようにBHOで実装するかはこの記事が参考になります。

Visual Studio 2005 によるブラウザ ヘルパ オブジェクトのビルド

Microsoft Visual Studio 2005 と Active Template Library (ATL) を基に、C++ を使用して BHO を開発する内容になっていますが、Visual Studio 2008でも同様に作成できました。


■拡張保護モード有効時に IEアドオンを読み込ませるには?


Supporting enhanced protected mode (EPM) (Windows)
Loading ActiveX controls when EPM is active ...

にも記載されていますが、拡張保護モード有効時にIEアドオンを読み込ませるには、COM component categoryにAppContainer互換を示すGUID(59fb2056-d625-48d0-a944-1a85b5ab2640)を登録する必要があります。

具体的な登録方法(レジストリ操作)は

BUG: Component Category Registry Entries Not Removed in ATL Component

が参考になりました。


■アドオンがIEに読み込まれることと正しく動作することは別問題です


当然ですが、上記のCOM component categoryを正しく行ったとしても、アドオンがIEに読み込まれるようになるだけです。読み込まれたIEアドオンが、より制限された実行環境であるAppContainer内で正しく動作するかはまた別の問題であり、動作確認が必要です。想定通り動作しなかった場合はコード修正が必要になりますので注意して下さい。





Ads by 忍者AdMax