2015.09.02: 解説文を簡略化。リンク追加。古い情報を別ページへ。
2015.08.04: 手順を大幅改定。コントロールパネル経由で作動させる方法の追記
2014.11.17: 登録カテゴリーの変更
2014.08.05: 初出
Windows 10/8.1 にフリーソフトや古いソフトをインストールすると、時々「.NET runtime library v2.0 or newer is required.」などというメッセージが出てしまい、ソフトが起動しない (もっと酷い場合はインストール出来ない)という現象が発生します。
- メッセージの例1
▲「.NET Framework 2.0以上が必要です」のメッセージと共にインストーラーが止まってしまった例です。 - メッセージの例2
▲クリックで拡大
「お使いのPCにあるアプリには、Windowsの次の機能が必要です。:.NET Framework 3.5 (.NET 2.0および3.0を含む)」というメッセージが出る場合もあります。
Windows10には.NET Framework 4.6 が、Windows 8/8.1には、標準で .NET Framework 4.5 がインストールされています。
本来は、(新しい .NET Framework は下位互換性あるので)古いツールも作動するはず。しかし .NET Frameworkは、大きく分けて「1.0」「1.1」「2.0/3.0/3.5」「4/4.5/4.6」の4つに分かれており、これらは基本的に別物のようです。(別々にインストールして共存可能) つまり上位バージョンをインストールしても下位バージョンをインストールしたことにはなりません。
ページの先頭で紹介したようなエラーメッセージが出てしまう場合は、以下の対処方法を試してみましょう。
解決法
コントロールパネルから古い .NET Framework (3.5/3.0/2.0)のインストールと有効化が可能です。
(1.0/1.1はすでにサポートが打ち切られています)
手順の解説図
▲クリックで拡大
[コントロールパネル]>[プログラムと機能]>[Windowsの機能の有効化または無効化]を開き、「.NET Framework 3.5(.NET 2.0および3.0を含む)」のボックスにチェックを入れます。
※ツール開発者などで無い限りは「Windows Communication Foundation (WCF) HTTP アクティブ化」などの子項目のチェックは不要です
- 「Windows Updateからファイルをダウンロードする」を選択し、インストールされるのを待ちましょう。
- インストール後、設定を有効にするにはPCの再起動が必要です。
- これら古い .NET Framework をインストールした後は、再度Windows Updateを行い、セキュリティパッチが存在していないか確認を行いましょう。
通常は、ここまでの手順で古い.NETで作成されたアプリも動くようになるはずです。
結果
Windows10上でHanbrake 0.9.3を作動させることに成功しました。
▲クリックで拡大
※Hanbrake 0.9.3は.NET Framework 2.0が必要
※Hanbrake 0.9.3は拡大リサイズが可能。
古い.NET Frameworkアプリが 無事作動しました。
このページの手順解説は以上です。
おまけ: .NET Framework とは
.NET Framework とは、「Microsoft .NET」の対応アプリケーションの動作環境です。・・・・と書いてもいまいちピンと来ない人の為に説明すると、
「色々と便利で応用可能なプログラムの集合体を用意したので、Windowsで何かのツールを作成する場合は利用してね!」てな感じのモノです。
おまけ2: .NET Frameworkのバージョンや互換性について
Windows TIPS:.NET Frameworkのバージョンを整理する - @IT
コメント欄で情報いただきました。
上サイトに非常に分かりやすくまとめられていました。
一部引用
.NET Frameworkの各バージョンの関係
水平に並ぶ4つのグループはお互いに独立していて、1つのシステムに複数のバージョンをインストールして同時に利用できる。逆にいえば、上位バージョンをインストールしても下位バージョンをインストールしたことにはならない。Ver.2.0/3.0/3.5は内包関係にあるが、Ver.4/4.5.xは置き換えなので共存できない。原則として、個々の.NET対応アプリケーションが必要とするバージョンの.NET Frameworkをそれぞれインストールすることになる。
私は過去、マイクロソフトの解説ページを読んで .NET Framework は過去のバージョンとの互換性があり、基本的に最新バージョンが入っていれば.NET Frameworkアプリは作動するものと思い込んでしまいましたが、どうやらこれは間違った解釈をしてしまったようです。
サイト内関連リンク
- .NET Framework 4.5と下位バージョンの互換性がカオス
- Windows 10/8.1 で古い .NET Framework ツールを作動させるTips (このページ)
- 「古い.NET Frameworkアプリ」を「configファイルを弄って」無理やり作動させる方法