IEのActiveXの起動について

気になったので調査してみた。調査したページはMSDNAbout ActiveX ControlsからリンクしてあるHow to Register an ActiveX Object as the Player for a Media Typeのページ。

IEがどのようにActiveXオブジェクトとアプリケーションを関連付けているかは、以下の4つの情報のいずれかを利用して判断しているようです。
CLSID(Class Identifier)
ProgId
MIME Type
file name extension(拡張子)

これらの情報は全てWindowsレジストリに格納されています。CLSID,ProgId,MIME Type,file name extensionはそれぞれ関連付けられており、ProgIdと起動するプログラムが関連図けられています。したがって、これらの情報のいずれかが分かればプログラムを起動することができるはずです(未確認)この確認を行う必要がありそうです。時間のあるときに調査してみます。

ちなみにそれぞれの情報がどこに定義されているかですが、Acrobat Readerを例にして説明します。

KEY_CLASSES_ROOT/CLSID/{CA8A9780-280D-11CF-A24D-444553540000}
CLSIDの定義がされています。ここでProgIdとも関連図けられています。
HKEY_CLASSES_ROOT/PDF.PdfCtrl.6/
このProgIdのCLSIDが記述されています
HKEY_CLASSES_ROOT/AcroExch.Document/shell/Open/Command
起動するプログラムが記述されています
HKEY_CLASSES_ROOT/MIME/Database/Content Type/application/pdf
CLSIDと拡張子が記述されています
なんか間違ってるみたいです。
(参考)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpiis/iishelp/iis/htm/asp/glob822b.asp