読者です 読者をやめる 読者になる 読者になる

wanichanの日記

ちょっとした技術メモ。Microsoft中心。Webサイト管理等にまつわるネタ、サイトの更新情報等を発信中。最終版はwanichan.comに掲載していきます。

IEツールバーコマンドの参照先

Internet Explorer

Java使わないのに(注:JavaScriptではない)、その脆弱性によってしばらく私のPCが攻撃されていたので、Javaをアンインストールし、なんやかんややっているうちに、Internet Explorerのツールバーを選ぶコマンドに空白のコマンドが表示されるようになりました。

rightclick_IE

アドインの管理を参照しても、それらしきものが見つからず、ひょっとしてYahoo!ツールバーアンインストール時に変に残ってしまったのが原因かと思って、Yahooツールバーをインストールしなおそうとしても問題解決しなかったし、IE8に戻しても解決しなかったということで、うーむ、リカバリコース?といってもなんか面倒ですよね。

ちなみに、私のPC環境は以下の通り

  • OS:Windows 7 Professional 64ビット SP1
  • ブラウザー:Internet Explorer 9 (32ビット版で)

そんなわけで、いろいろ調べていくうちに、この空白のコマンドはどこを参照しているのかいろいろ調べてみました。

1. IE起動時に読み込むレジストリキー

IE は起動時に、以下のレジストリキーの値を読み込みます。

- 32 bit システムの場合 -
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar]

- 64 bit システムの場合 -
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar] (64 bit 版 IE の場合)
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Toolbar] (32 bit 版 IE の場合)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Toolbar をエクスポートしてみたらこんな感じでした。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Toolbar]
"Locked"=dword:00000000
"{ae07101b-46d4-4a98-af68-0333ea26e113}"="Smartbar"
"{2318C2B1-4965-11d4-9B18-009027A5CD4F}"=hex:00

2. 上記レジストリキーに含まれる、コンポーネントクラスIDの値の参照先

で、それぞれ{コンポーネントのクラス ID 値}がどこにリンクされているかというと、

- 32 bit システムの場合 -
[HKEY_CLASSES_ROOT\CLSID]

- 64 bit システムの場合 -
[HKEY_CLASSES_ROOT\CLSID] (64 bit 版 IE の場合)
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID] (32 bit 版 IE の場合)

3. コンポーネントクラスID の 名前を持つ文字列 (REG_SZ) 値 にデータが入っていないものがあるか確認

実際のところ、私の環境では、2つめの"{2318C2B1-4965-11d4-9B18-009027A5CD4F}"キーの (既定) 値に設定されている文字列データには、Google Toolbarが設定されてました。

image

しかし、前者の {ae07101b-46d4-4a98-af68-0333ea26e113} キーの (既定) 値に設定されている文字列にはデータが入っていませんでした。

image

そんなわけで、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Toolbar に登録されている問題のコンポーネントクラスIDの値が入っているものを削除、っと。

image

これで解決しました。

image