| COMCTL32.DLLのバージョンについて | |||||||||||||||||
| 下記の内容はikeの独自の調査によるもので、Microsoftの公式情報ではありません。 内容を第3者に紹介する場合は転載せずリンクを張ってください。 |
|||||||||||||||||
| ■comctl32.dllとは | |||||||||||||||||
| このファイルはコモンコントロールDLL(ディエルエル)と呼ばれ、押しボタンやチェックボックスなど、いつもお世話になっている標準的なコントロールを収めたプログラムファイルです
このファイルはWindowsのシステムディレクトリ、例えばWindows98では MicrosoftはWindows95を作った当時、このファイルをそれほどバージョンアップするつもりは(多分)ありませんでした。それはInternet Exolprerが現れるまでこのファイルがバージョンアップされることは無かったからです。 ところがインターネットが急速に広まりMicrosoftもインターネット、とくにブラウザの分野でNetscape社と戦うために、InternetExplorer3.0を出荷しました。このころから見た目の格好良さで他社と差をつけようとしたのか、comctrl32.dllにいろんな改造を加え始めました。表面が平べったくマウスを置くと光ボタン、自由に配置できるツールバーなどです。これらのデザインはOffice97でも実験的に取り入れたようで、正式にcomctl32.dllに加えてきました。 ブラウザが進化するに連れ、comctl32.dllの改良はとどまるところを知らず、見た目が格好よいものですから、世のプログラマは競って自分のソフトに取り入れようとしました。しかし、そのためには最新のcomctl32.dllを一緒に配る必要があります。その結果、世界中にいろんなバージョンのcomctl32.dllが氾濫しました。MicrosoftはInternetExplorerが急速に広まるので、IEに添付しておけば自然と最新のcomctl32.dllが行き渡ると考えたのかもしれません。しかし、アンチIE派もたくさんいるので思うようにいかず、いつも最新のIEをインストールする人には最新のcomctl32.dllが配られ、IEを信用せずNetscapeを使いつづけた、もしくは会社などでIEのインストールを禁止された人には、いつまでも古いcomctl32.dllが残るという事態になったわけです。 Microsoftは初期のころ、ソフトに添付する形でcomctl32.dllの配布を自由に認めてきましたが、あまりにも混乱した状態になったの、最近になって配布を禁止したようです。それは下の「入手方法」でリンクしたページに書いてあります。 ところで、バージョンが違うcomctl32.dllのために何が起こるかといいますと、
のような現象が起こります。comctl32.dllのバージョンにより内部の動きや用意されている機能が異なるために、ソフトがどのバージョンをターゲットにして開発されたかによって、うまく行かない部分が生じるからです。 |
|||||||||||||||||
| ■バージョンの種類 | |||||||||||||||||
| Windows95とWindows98でいろんな環境を作って調べた結果、とりあえずわかっているだけでも以下の種類があります。特に問題となるのはバージョンの最初が4.00で始まる初期のもので、できるなら最新版の4.72系にしたほうが今後のためにもよいと思われます。
なお、Microsoft Officeなどをインストールしていると、自動的に新しいものにバージョンアップされていますので、まずは自分のWindowsに入っているcomctl32.dllのバージョンがいくつか確認してみるとよいでしょう。確認方法は次の章をご覧ください。
|
|||||||||||||||||
| ■バージョンの確認方法 | |||||||||||||||||
次の手順でバージョンを確認できます。
|
|||||||||||||||||
| ■入手方法 | |||||||||||||||||
| ソフトの動作を確実にするために、新しいcomctl32.dllをインストールしておくことをお勧めします。これまでIEやOfficeなどをインストールしたことがあるなら新しいバージョンに置き換わっていると思います。上記の方法で確認してください。
もしバージョンが4.00.950のように相当古かったら、Microsoftが配布しているアップデートソフトをダウンロードし、実行すると新しいバージョンになります。 Microsoftのページを読むとcomctl32.dllの配布に関する規約が変わったことがわかります。よって私が直接配布することはできませんので、MicrosoftのページからFTPサーバにアクセスして、com32upd.exeか40comupd.exeをダウンロードしてください。 なお、ページにあるFTPのリンクを押しても反応がない場合は(私は反応を得ることができませんでした)、2つのファイルへ直接リンクを置きますので、これらをご利用ください。 なお、下記のアップデートによる動作を保証はしませんが、ikeが2つのファイルを実際にダウンロードして実行した限りでは問題ありませんでした。実験の結果、現在のバージョンより古いバージョンは入らないようにアップデートソフトはバージョンを判定して動いているようです。 ■Microsoftが用意しているcomctl32.dll配布のページ ■ftp://ftp.microsoft.com/softlib/mslfiles/40comupd.exe (40comupd.exe) ■ftp://ftp.microsoft.com/softlib/mslfiles/com32upd.exe (com32upd.exe) |
|||||||||||||||||