Windows TIPS
[System Environment] |
バイナリ・ファイルのバージョンを調べる
デジタルアドバンテージ
2003/07/19 |
|
対象OS |
Windows 2000 Professional |
Windows 2000 Server |
Windows 2000 Advanced Server |
Windows XP Home Edition |
Windows XP Professional |
Windows Server 2003 |
|
|
 |
■ |
システムにインストールされているファイルの細かいバージョンを知りたい場合がある。 |
■ |
そのためにはエクスプローラでファイルの[プロパティ]情報を表示させるとよい。 |
■ |
Support Toolsに含まれるfileverというコマンドを使えば、コマンドラインで簡単に調査することができる。 |
|
|
Windows OS用の実行ファイル(.exeだけでなく.dllや.sys、.drvなど、各種システム・ファイルも含む)では、プログラムのバージョンやビルド番号、動作環境などに関する情報がファイルのヘッダ部分に記述されている。ファイルの名前や日付、サイズだけでは分からないような、内部的な細かいバージョン情報がここには記述されており、システムやアプリケーション・プログラムは、正しいバージョンのファイルの組み合わせでのみ正常に動作するようになっている。もし間違って異なるバージョンのDLLを呼び出したりすると、システムが安定に動作しないばかり、重大なセキュリティ・ホールが顕在化する可能性もある。
このバージョン番号やビルド番号は、Windows OSが最初にリリースされたときはすべて同じ値になっているが(一部異なる場合もある)、いろいろなアプリケーションやService Pack、個別の修正プログラム(ホットフィックス)、デバイス・ドライバなどを次々とインストールしていると、同じ名前でもさまざまなバージョンのファイルが存在することになる。
通常は、ファイルの細かいバージョン番号などはユーザーにとってはあまり関係のないことである。だがセキュリティ・ホールの修正プログラムにミスがあったとか、あるソフトウェアをインストールした結果システムの具合が悪くなったなど、場合によってはファイルを元に戻したり、アンインストールしたりする必要がある。その場合には、各ファイルの細かいバージョン情報を知っておかなければならないこともある。例えばサポート技術情報の「810847―[IE] [MS03-004] Internet Explorer 用の累積的な修正プログラム (2003 年 2 月)」や「Windows コンポーネントの未チェックのバッファにより サーバーが侵害される (815021) (MS03-007)」では、システムにインストールされているファイルのバージョンが、これらのページに記述されているものに該当するかどうか調査し、必要ならば対策を行って欲しい、などと記述されている。
ファイルのバージョン番号は、例えばエクスプローラで対象となるファイルを選んでマウスを右クリックし、ポップアップ・メニューから[プロパティ]を選択して表示させることにより、確認することができる。
 |
ファイルのバージョン情報 |
エクスプローラでファイルを選び、右クリックして[プロパティ]メニューを選択すると、ファイルのバージョン情報を確認することができる。 |
|
 |
ファイルのバージョン情報。 |
|
 |
バージョン以外にも、さまざまな情報が用意されている。 |
|
しかし1個や2個のファイルだけならなんとかなるだろうが、調査しなければならないファイルが多数あったり、対象となるシステムが多数あったりすれば、エクスプローラではなく、コマンドラインなどを使って簡単にファイルのバージョン情報を取得したくなるだろう。
このような用途に使えるコマンドとして、filever.exeというコマンドライン・ツールが用意されている。ただしこれは標準ではOSに含まれていないコマンドであり、Support Toolsという拡張コマンド群をインストールする必要がある。Support Toolsは、各OSのインストールCD-ROMの\SUPPORT\TOOLSフォルダに用意されている(インストールするには、このフォルダにあるSUPTOOLS.MSIを実行する)。
fileverコマンドに、調査したいファイル名(ワイルドカードも使用可能)を引数として与えると、次のように表示される。
C:\WINDOWS\system32>filever mshtml.dll
--a-- W32i DLL JPN 6.0.2800.1170 shp 2,787,840 02-24-2003 mshtml.dll
|
この場合は、「mshtml.dll」ファイルのバージョンは「6.0.2800.1170」であるということが分かる。「6.0」はInternet Explorer 6.0向けのファイル、「2800.1170」はビルド番号を表している。さらに詳しく知りたければ「/V」オプションを付ければよい。ファイルのバージョンや対応言語などの情報を得ることができる。
C:\WINDOWS\system32>filever /v mshtml.dll
--a-- W32i DLL JPN 6.0.2800.1170 shp 2,787,840 02-24-2003 mshtml.dll
Language 0x0411 (日本語)
CharSet 0x04b0 Unicode
OleSelfRegister Enabled
CompanyName Microsoft Corporation
FileDescription Microsoft (R) HTML Viewer
InternalName MSHTML
OriginalFilenam MSHTML.DLL
ProductName Microsoft(R) Windows(R) Operating System
ProductVersion 6.00.2800.1170
FileVersion 6.00.2800.1170
LegalCopyright (C) Microsoft Corporation. All rights reserved.
VS_FIXEDFILEINFO:
Signature: feef04bd
Struc Ver: 00010000
FileVer: 00060000:0af00492 (6.0:2800.1170)
ProdVer: 00060000:0af00492 (6.0:2800.1170)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004 NT Win32
FileType: 00000002 Dll
SubType: 00000000
FileDate: 00000000:00000000
|
「/S」オプションと共に使用すると、指定したフォルダ以下にある(バイナリ)ファイルの情報をすべて調査することができる。
C:\WINDOWS\system32>filever /s *.dll > c:\filever.log |
Windows Server Insider フォーラム 新着記事