文書番号: 240797 - 最終更新日: 2007年8月24日 - リビジョン: 9.5

Internet Explorer で ActiveX コントロールの動作を停止する方法

この記事は、以前は次の ID で公開されていました: JP240797
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986? (http://support.microsoft.com/kb/256986/ ) Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

概要

この資料では、ActiveX コントロールが Microsoft Internet Explorer および Windows Internet Explorer で実行されないように設定する方法について説明します。この設定は、ActiveX コントロールのクラス識別子 (CLSID) の Compatibility Flags (DWORD 値) のデータを修正することにより行うことができます。

: Microsoft Windows XP を実行しているコンピュータおよび Windows Server 2003 を実行しているコンピュータの場合、管理者はソフトウェアの制限のポリシーを使用することによって、Active Directory ドメイン環境内にあるコンピュータで実行されるすべてのプログラムで ActiveX コントロールが実行されないようにすることができます。ソフトウェアの制限のポリシーの詳細については、以下のマイクロソフト Web サイトを参照してください。
http://technet.microsoft.com/en-us/library/bb457006.aspx (http://technet.microsoft.com/en-us/library/bb457006.aspx)

詳細

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

警告 : マイクロソフトでは、ActiveX コントロールに対して "強制終了の取り消し" (強制終了操作の解除) を実行することはお勧めしません。強制終了を取り消すと、セキュリティが低下する可能性があります。通常、Kill Bit は重要な場合に設定されるため、ActiveX コントロールの強制終了を取り消す場合は、細心の注意が必要です。また、この方法は高度な技術を必要とするため、手順を十分に理解するまでは実行しないでください。この方法を実行する前に、全体の手順を熟読することを推奨します。

ActiveX コントロールの CLSID は、そのコントロールのグローバル一意識別子 (GUID) です。Internet Explorer で ActiveX コントロールが実行されないようにするために、Kill Bit を設定することができます。これにより、デフォルト設定の使用時には ActiveX コントロールが Internet Explorer から呼び出されないようになります。

ActiveX コントロールの Kill Bit は、レジストリの Compatibility Flags (DWORD 値) の特定の値です。Kill Bit を設定することは、Internet Explorer のセキュリティの設定で ActiveX コントロールの [スクリプトを実行しても安全だとマークされている ActiveX コントロールのスクリプトの実行] などのオプションを無効にすることとは異なります。このオプションを無効にしても、Internet Explorer では ActiveX コントロールが呼び出され、ActiveX が安全でない可能性があることを示す警告のダイアログ ボックスが表示されます。この場合、ユーザーの選択によっては、ActiveX コントロールが実行される可能性があります。しかし、ActiveX コントロールの Kill Bit を設定すると、Internet Explorer で [スクリプトを実行しても安全だとマークされていない ActiveX コントロールの初期化とスクリプトの実行] を有効にしない限り、ActiveX コントロールが Internet Explorer から呼び出されることはなくなります。Kill Bit を設定するには、次の手順を実行します。
  1. 実行を停止する ActiveX コントロールの CLSID を特定します。ActiveX コントロールの CLSID を特定できない場合は、開発元に問い合わせてください。ActiveX コントロールがインストールされていて、ActiveX コントロールのフレンドリ名がわかっている場合は、CLSID を特定できることがあります。これを行うには、レジストリの HKEY_CLASSES_ROOT\CLSID の CLSID キーごとに含まれている ProgID キーの "(標準)" 値を確認します。該当する CLSID を見つけやすくするために、無効にする ActiveX コントロール以外の ActiveX コントロールをできる限り削除しておくことをお勧めします。 ActiveX コントロールを削除する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    154850? (http://support.microsoft.com/kb/154850/ ) [IE5]ActiveX コントロールを削除する方法
  2. レジストリ エディタを使用して、次のレジストリ キーにある ActiveX オブジェクトの CLSID の Compatibility Flags (DWORD 値) のデータを表示します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID of the ActiveX control
    CLSID of the ActiveX Control は、該当する ActiveX コントロールのクラス識別子です。

    • 通常、このレジストリ キーは手動で作成する必要があります。
    • 無効にする ActiveX コントロールに対応する CLSID を特定するには、現在インストールされている ActiveX コントロールをすべて削除した後、無効にする ActiveX コントロールをインストールし、その CLSID に Kill Bit を追加します。
  3. Compatibility Flags (DWORD 値) の値を 0x00000400 に変更します。
Kill Bit が設定されている ActiveX コントロールで、CLSID が異なる新しいバージョンがリリースされた場合、古い CLSID を使用している Web サイトでも引き続き意図した動作が実行されるようにすることができます。これを行うには、レジストリの Compatibility Flag 値と同じレベルに新しい値を追加します。追加する値は、"AlternateCLSID" という名前の REG_SZ 文字列です。AlternateCLSID 値は中かっこで囲まれます。この値の例を次に示します。
{ABCDEF12-ABCD-ABCD-ABCD-ABCDEF123456}
Internet Explorer はこの値を解釈し、Kill Bit が設定された値ではなく、AlternateCLSID で参照されている ActiveX コントロールのインスタンスを作成します。

: AlternateCLSID 値を有効にするには、最初の CLSID に Kill Bit を設定する必要があります。

ActiveX コントロールの開発者は、TreatAs レジストリ値または AlternateCLSID レジストリ値に Kill Bit を設定することで、無効に設定された ActiveX コントロールに代わる、更新された ActiveX コントロールが提供されているかどうかを Internet Explorer でチェックすることができます。TreatAs レジストリ値の使用方法の詳細については、以下のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/ms679737.aspx (http://msdn2.microsoft.com/en-us/library/ms679737.aspx)
AlternateCLSID レジストリ値を設定するには、以下の手順を実行します。
  1. レジストリ エディタを使用して、次のレジストリ キーの中から、無効に設定された ActiveX オブジェクトの CLSID を見つけます。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID of the ActiveX control
    CLSID of the ActiveX control は、該当する ActiveX コントロールのクラス識別子です。

    Compatibility Flags 値は 0x00000400 (DWORD 値) に設定されています。
  2. CLSID のキーに AlternateCLSID (文字列値) を追加します。
  3. AlternateCLSID (文字列値) のデータを {CLSID of the alternate ActiveX control} に設定します。{CLSID of the ActiveX Control} は、更新された ActiveX コントロールのクラス識別子です。
AlternateCLSID 値を設定することにより、Internet Explorer が、更新された ActiveX コントロールの CLSID にリダイレクトするようになります。リダイレクトは、最大 10 階層まで繰り返すことができます。

AlternateCLSID 値がサポートされている Internet Explorer のバージョンを以下に示します。
  • Windows 2000 用の Internet Explorer 5.01 Service Pack 2 またはそれ以降 (MS03-004 以降を適用)
  • Internet Explorer 5.5 Service Pack 2 (MS02-068 以降を適用)
  • Internet Explorer 6 Service Pack 1
  • Windows XP 用の Internet Explorer 6 (MS02-068 以降を適用)
  • Windows Server 2003 用の Internet Explorer 6
: この資料に記載されていないバージョンの Internet Explorer は、プロダクト サポート サイクルが延長フェーズになっているか、現在サポートされていません。これらのバージョンの Windows および Internet Explorer でも Kill Bit を有効にすることはできますが、マイクロソフトでは、サポートされているバージョンの Internet Explorer にアップグレードし、適切な更新プログラムをすべて適用することを推奨します。 Internet Explorer のバージョンを確認する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
164539? (http://support.microsoft.com/kb/164539/ ) インストールされている Internet Explorer のバージョンを確認する方法

この資料は以下の製品について記述したものです。
  • Microsoft Internet Explorer 5.01 Service Pack 2
  • Microsoft Internet Explorer 5.01 Service Pack 3
  • Microsoft Internet Explorer 5.01 SP4
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 6.0 Service Pack 1
  • Windows Internet Explorer 7 for Windows Server 2003 IA64
  • Windows Internet Explorer 7 for Windows XP
  • Windows Internet Explorer 7 for Windows Server 2003
キーワード:?
kbhowto kbenv KB240797
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
 

サポート技術情報の翻訳