| [System Environment] | |||||||||||||||
.NET Frameworkのバージョンを確認する方法
|
|||||||||||||||
|
|||||||||||||||
| 解説 |
.NET Frameworkは、Visual Studioなどで開発したCLR(Common Language Runtime)ベースのプログラム(一般には「.NETアプリケーション」などと呼ばれ、「マネージ・コード」で構成される)を実行するために必要なランタイムであり、実行するにはWindows環境に.NET Frameworkが組み込まれている必要がある。
しかし、Windows OSによってはデフォルトで.NET Frameworkがインストールされていないことがある。また.NET Frameworkには複数のバージョンがあり、利用したい.NETアプリケーションにあわせて適切なバージョンの.NET Frameworkをインストールしておく必要もある。それには、どのバージョンの.NET Frameworkがインストール済みか、確認しなければならない。
そこで本稿では、.NET Frameworkのバージョンについて簡単に紹介しつつ、それを踏まえたバージョン確認の方法を紹介する。
複数のバージョンが混在している.NET Frameworkの現状
2011年11月時点で.NET Frameworkは、最初のVer.1.0の後、マイナー・バージョンアップを加えたVer.1.1、機能を追加したVer.2.0およびVer.3.0/3.5/4が提供されている(まだ開発中だがVer.4.5も登場している)。また、これらのバージョンに対して、不具合の修正などを行うService Packも提供されている。そして上位バージョンは必ずしも下位バージョンとの完全な互換性を維持していない。結果として、現在は複数のバージョンの.NET Frameworkが混在している状態だ。
これまでに提供されている.NET FrameworkのバージョンとService Packを簡単にまとめると次のようになる。
| .NET Frameworkバージョン | 提供されているService Pack(SP)レベル |
| .NET Framework 1.0 | SPなしの初期版、SP1、SP2、SP3 |
| .NET Framework 1.1 | SPなしの初期版、SP1 |
| .NET Framework 2.0 | SPなしの初期版、SP1、SP2 |
| .NET Framework 3.0 | SPなしの初期版、SP1、SP2 |
| .NET Framework 3.5 | SPなしの初期版、SP1 |
| .NET Framework 4 | SPなしの初期版 |
| .NET Frameworkの各バージョンとService Packレベル | |
.NET Frameworkのバージョンの詳細については、次の記事を参照していただきたい。
- .NET Frameworkのバージョンを整理する(Windows TIPS)
また、.NET Frameworkのインストール手順については以下の記事を参照していただきたい。
- .NET管理テク「Windows Updateで.NET Frameworkランタイムのインストール」(.NET管理者虎の巻)
- .NET管理テク「ネットワーク共有フォルダから.NET Frameworkランタイムのインストール」(.NET管理者虎の巻)
- .NET管理テク「アプリケーション・インストーラで.NET Frameworkランタイムのインストール」(.NET管理者虎の巻)
| 操作方法 |
インストール済みの.NET Frameworkのバージョンをバッチ・ファイルで確認する
インストール済みの.NET Frameworkのバージョンは、そのコンピュータのレジストリの特定エントリを参照すれば確認できる。しかし、詳細は後で説明するが、確認すべきレジストリ・エントリは.NET Frameworkのバージョンによって異なるため、レジストリ・エディタを手動で操作して確認するのは簡単ではない。
そこで、レジストリを自動的に参照して.NET Frameworkのバージョンを検出・表示するバッチ・ファイルを用意した。
- バージョン自動検出用バッチ・ファイル(ZIPファイル)
|
このZIPファイルを展開すると「checkvdnfw_cmd.txt」というファイルが生成される。これを「checkvdnfw.cmd」にリネームして、書き込み可能なフォルダに保存する(一時ファイルを作成するため)。管理者モードで起動したコマンド・プロンプトから、引数なしでcheckvdnfw.cmdを実行すると、実行したコンピュータに組み込まれている.NET Frameworkのバージョンを表示する。未インストールの.NET Frameworkのバージョンは表示しない。
|
また引数に「\\<コンピュータ名>」を指定すると、リモートからそのコンピュータの.NET Frameworkのバージョンを調査して表示できる。ただし、checkvdnfw.cmdを実行するコンピュータから、対象のリモート・コンピュータのRemote Registryサービスに接続できる必要がある(詳細は関連記事を参照)。
|
|
| checkvdnfw.cmdの実行例 | |
| リモート・コンピュータを調査した例。インストール済みの.NET FrameworkランタイムのバージョンおよびService Packレベル、日本語Language Pack(後述)の情報を表示する。 |
なお、Windows 2000でこのバッチ・ファイルを実行する場合は、あらかじめTIPS「コマンド・プロンプトでレジストリを操作する」を参照してreg.exeコマンドを実行可能にしておく必要がある。
.NET FrameworkのバージョンとService Packを確認するためのレジストリ・エントリ
.NET Frameworkのインストーラは、インストール時に自身のバージョンなどの情報を特定のレジストリ・エントリに記録する。前述のバージョン確認用バッチ・ファイルは、そのレジストリ・エントリの読み出しと分析、バージョンなどの判定を自動実行するものだ。ほかのスクリプトや管理・展開ツールでも、同じ原理でバージョンの確認ができるだろう。そのために必要なレジストリ・エントリのパスおよび検出手順について、詳細を以下に記す。それらは.NET FrameworkのVer.1.0とVer.1.1〜3.5、Ver.4でそれぞれ異なるので、別々に説明する。
■.NET Framework 1.0の場合
.NET Framework 1.0がインストールされているかどうかは、以下のレジストリ値で確認できる。
| 項目 | 内容 |
| キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\Full\ v1.0.3705\1041\Microsoft .NET Framework Full v1.0.3705 (1041) |
| 値の名前 | Install |
| 値の内容 | 0または存在しない→インストールされていない 1→インストール済み |
| .NET Framework 1.0のインストール確認用レジストリ・エントリ | |
.NET Framework 1.0のService Packレベルを確認するには、以下のレジストリ値を参照する。内容のうち、最後の1桁がService Packレベル(SPレベル)を表している。
| 項目 | 内容 |
| キー | HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\ {78705f0d-e8db-4b2d-8193-982bdda15ecd} または HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\ {FDC11A6F-17D1-48f9-9EA3-9051954BAA24} |
| 値の名前 | Version |
| 値の内容 | 1,0,3705,<SPレベル> <SPレベル>=0→Service Packが未適用(初期版) <SPレベル>=1→Service Pack 1適用済み <SPレベル>=2→Service Pack 2適用済み <SPレベル>=3→Service Pack 3適用済み |
| .NET Framework 1.0のService Packレベル確認用レジストリ・エントリ | |
| .NET Framework 1.0がインストール済みであれば、上記の2種類のキーのうち、どちらかが存在するはずだ。「Version」値に格納されている文字列の最後の1桁から、そのService Packレベルが確認できる。 | |
■.NET Framework 1.1〜3.5の場合
これらのバージョンの.NET Frameworkは、バージョンごとに確認すべきレジストリ・キーが分かれている。インストールされているかどうか、またService Packレベルを確認する手順は共通である。
| 項目 | 内容 |
| .NET Framework 1.1用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v1.1.4322 |
| .NET Framework 2.0用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v2.0.50727 |
| .NET Framework 3.0用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v3.0 |
| .NET Framework 3.5用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v3.5 |
| 値の名前 | Install |
| 値の内容 | 0または存在しない→インストールされていない 1→インストール済み |
| 値の名前 | SP |
| 値の内容 | 0→Service Packが未適用(初期版) 1→Service Pack 1適用済み 2→Service Pack 2適用済み …… |
| .NET Framework 1.1〜3.5のインストールおよびService Packレベル確認用レジストリ・エントリ | |
| バージョンごとに確認用キーは分かれている。「Install」値や「SP」値の内容とその確認方法については各バージョン共通だ。 | |
■.NET Framework 4の場合
.NET Framework 4のインストーラには「クライアント・プロファイル(Client Profile)版」と「フル(Full)版」の2種類が存在する。前者はクライアントPC向けでASP.NETなどが省かれており、後者は全機能を搭載している(フル版はクライアント・プロファイル版を含んでいる)。両方とも、レジストリ・エントリこそ異なるものの、インストールの有無を確認する手順は前述の.NET Framework 1.1〜3.5の場合と同じである。
| 項目 | 内容 |
| .NET Framework 4 クライアント・プロファイル用キー |
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v4\Client |
| .NET Framework 4 フル用キー |
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v4\Full |
| 値の名前 | Install |
| 値の内容 | 0または存在しない→ランタイムがインストールされていない 1→ランタイムがインストール済み |
| .NET Framework 4のインストール確認用レジストリ・エントリ | |
| 「クライアント・プロファイル」と「フル」という2種類のランタイムをそれぞれ検出できる。ただし、フル版はクライアント・プロファイル版を含んでいるため、フル版をインストールすると上表のFullキーだけではなくClientキーも作成される。 | |
なお、2011年11月時点では.NET Framework 4のService Packはまだリリースされていないため、Service Packレベルの検出方法は不明である。
日本語Language Packがインストールされているかどうかを確認する
.NET Framework 1.1〜4の場合、ランタイムをインストールしただけではエラーメッセージなどが英語で表示される(.NET Framework 1.0はランタイム自体が日本語化されていて、こうした現象は発生しない)。メッセージを日本語化するには、バージョンごとに「日本語Language Pack」という専用のパッケージをインストールする必要がある。そのため、この日本語Language Packについても、インストールされているかどうか確認した方がよい。
.NET Framework 2.0/3.0/3.5では、ランタイムのService Packレベルを上げた場合、同じService Packレベルの日本語Language Packをインストールする必要がある。そのため、例えばランタイムに最新のService Packを適用後、日本語Language Packの更新を忘れたりすると、ランタイムと日本語Language Packの間でService Packレベルが食い違う、という事態が生じる(このときWindows Updateを実行しても日本語Language Packが更新されないこともある)。食い違ったままだと正しいエラーメッセージが表示されない可能性もあるので、これらのバージョンでは、日本語Language PackのService Packレベルも確認した方がよい。
日本語Language Packのインストールの有無およびService Packレベルは、以下のレジストリ値で確認できる。![]()
| 項目 | 内容 |
| .NET Framework 1.1用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v1.1.4322\1041 |
| .NET Framework 2.0用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v2.0.50727\1041 |
| .NET Framework 3.0用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v3.0\1041 または HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v3.0\setup\1041 |
| .NET Framework 3.5用キー | HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v3.5\1041 |
| .NET Framework 4 クライアント・プロファイル用キー |
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v4\Client\1041 |
| .NET Framework 4 フル用キー |
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\ v4\Full\1041 |
| 値の名前 | Install |
| 値の内容 | 0または存在しない→日本語Language Packがインストールされていない 1→日本語Language Packがインストール済み |
| 値の名前 | SP |
| 値の内容 | 0または存在しない→初期版用の日本語Language Packがインストール済み 1→Service Pack 1用の日本語Language Packがインストール済み 2→Service Pack 2用の日本語Language Packがインストール済み …… |
| .NET Framework 1.1〜4の日本語Language Pack確認用レジストリ・エントリ | |
| 「1041」キーにある「Install」値でインストールされているかどうかを確認する。.NET Framework 2.0/3.0/3.5では、「SP」値で日本語Language PackのService Packレベルをそれぞれ確認する必要もある(.NET Framework 4は執筆時点でService Packがリリースされていないため、SPキーの確認は不要)。 | |
| 更新履歴 |
| 【2004/09/18】.NET Framework 1.1および最新Service Pack情報などを追加し、これに併せて本文を改訂しました。 |
| 【2007/06/01】.NET Framework 2.0および3.0に関する情報を追加し、本文を改訂しました。 |
| 【2009/02/13】.NET Framework 3.5など最新情報を追加しました。またバージョン確認方法をレジストリ参照に統一し、本文を大幅に改訂しました。 |
| 【2010/04/23】.NET Framework 4およびWindows 7/Windows Server 2008 R2の情報を反映しました。 |
| 【2011/11/25】.NET Framework 4の日本語Language Packの検出方法を追記するとともに、バージョン確認用バッチ・ファイルでも検出できるようにしました。また、.NET Framework 3.0の日本語Language Packの検出において、確認すべきレジストリ・キーを追加しました。そのほか、本文全般を整理しました。 |
| 「Windows TIPS」 |
TechTargetジャパン
- Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる - PCをシンクライアント化するWindows Thin PCとは? (2012/2/2)
VDI向けにシンクライアントがほしいけど専用機を買う余裕はない… Windows Thin PCなら既存PCを低コストでシンクライアント化できる。まずは概要を解説 - 第302話 休憩時間は消灯を (2012/1/31)
君たち! 電力不足に鑑み、わが社としてもさらなる節電に貢献することとした。今後休憩時間は消灯するように。いいな! - Excelシートで特定のセルを編集禁止にする(改訂) (2012/1/27)
複数人に記入してもらうExcelシートでは、事前にデータや数式を入力しておいたセルは編集禁止にしたいところ。Excel 2007/2010での操作方法を追記
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


