COMCTL32.DLLのバージョンについて
下記の内容はikeの独自の調査によるもので、Microsoftの公式情報ではありません。
内容を第3者に紹介する場合は転載せずリンクを張ってください
■comctl32.dllとは
このファイルはコモンコントロールDLL(ディエルエル)と呼ばれ、押しボタンやチェックボックスなど、いつもお世話になっている標準的なコントロールを収めたプログラムファイルです

このファイルはWindowsのシステムディレクトリ、例えばWindows98では
C:\Windows\System\comctl32.dll
の場所に存在します。

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の環境で動作しない連絡があり、調査してみるとピッタリでチュ!の設定画面はcomctl32.dllのバージョンが4.70以上でないと正しく表示しないことがわかったのでこの記事を書くことにしました。

■バージョンの種類
Windows95とWindows98でいろんな環境を作って調べた結果、とりあえずわかっているだけでも以下の種類があります。特に問題となるのはバージョンの最初が4.00で始まる初期のもので、できるなら最新版の4.72系にしたほうが今後のためにもよいと思われます。

なお、Microsoft Officeなどをインストールしていると、自動的に新しいものにバージョンアップされていますので、まずは自分のWindowsに入っているcomctl32.dllのバージョンがいくつか確認してみるとよいでしょう。確認方法は次の章をご覧ください。

バージョン 入手先
4.00.950 Windows95の初期版
4.70 com32upd.exeの実行
InternetExplorer3.0に添付されていたらしいが、いまIE3なんて探しても見つからない。
com32upd.exeに付いては入手方法を参照。
4.72.2106.4 40comupd.exeの実行
40comupd.exeに付いては入手方法を参照。
4.72.3110.1 Windows98の初期版
4.72.3611.1900 Windows98にサービスパック1を当てる
4.72.3612.1702 Windows98にサービスパック1を当てIE4.01SP2をインストールする
5.80 Windows98にWindows98 SECOND EDITIONを当てる
■バージョンの確認方法
次の手順でバージョンを確認できます。
  1. Windowsのシステムフォルダを開きます。場所はドライブCにWindowsがインストールしてあるなら、C:\Widnows\System になります。
  2. フォルダの中にcomctl32.dllというファイルがあるのでマウスで選択します。
  3. 右クリックしてメニューから「プロパティ」を選択します。
  4. 出てきた画面の上にある「バージョン情報」というタブをクリックします。
  5. 一番上にファイルバージョンという項目に書いてある数字ばバージョンです。
■入手方法
ソフトの動作を確実にするために、新しい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)