Windows 10や8.1上では動かない「古い.NET Frameworkアプリ」を動かしたい。でも 古い.NET Framework (3.5/3.0/2.0) はインストールしたくない。という場合に試してみる価値が(それなりに)ある方法です。

「それなりに」と書いてある通り、全ての古いアプリが作動する訳ではありません。

過去にサイト内の別ページ「Windows 10/8.1 で古い .NET Framework ツールを作動させるTips」にて公開していた手法です。
上ページ内の情報が雑多になって来たため、特殊な手法をこのページに分離しました。

手順の概要

実行したいアプリの*.exeファイルと同じフォルダに、app.configというファイルを作成し、中身を編集します(xml形式)
この方法で、一部の .NET 2.0のアプリを.NET2.0から.NET4.6まで動かす事が可能です。

注意

以下で説明する手順では、途中でPCの管理者権限が必要になる場合があります。
管理者権限が必要
▲プログラムが、システムフォルダーや「Program Files」フォルダーにインストールされている場合は、上記の様なメッセージが表示されます。

管理者権限のあるユーザーでログインし「続行」を選択する必要があります。

app.configの作成と編集方法

テキストファイルの作成
まずはテキストファイルを作成します。
テキストファイルを作成
▲クリックで拡大
実行したいプログラムと同じフォルダで右クリックして*.txtファイルを作成します。
※注意:画像ではHandbrake0.9.3のインストーラーを例にしていますが、このインストーラーは内部で.NETのバージョンをチェックしているらしく、*.configファイルの追加では作動しません。

テキストの中身は、以下の様にします。

スポンサー リンク
中身の一例
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
注意
※supportedRuntimeを書く順番で優先度が変わります。
(先に書いたものが優先されます。)

ファイル名を変更する
テキストのファイル名と拡張子を、以下の様に変更します
ファイル名と拡張子は、「*.exe.config」
▲クリックで拡大
ファイル名と拡張子は、「*.exe.config」となります。
exeファイルと同じ階層に置いておけばOKです。

既に*.configファイルが存在している場合
既に*.configファイルが存在している場合は、中身を書き換えましょう。
configファイルの中身を書き換え
▲クリックで拡大
configファイル内から「configuration」タグを探して、該当部分のみを書き換えるのが無難かと思います。

注意点

このページで紹介した「*.exe.config」を追加する (書き換える) 方法は、万能では無いようです。

HandBrake v0.9.3 (.NET Framework2.0アプリ)でテストしてみた所
  • インストーラーにこの方法は通用しなかった。
    (インストーラー内部でバージョンチェックを行っている感じ)
    (.NET3.5のインストールが必要)
  • 一度インストールしてしまえば、.NET 3.5をアンインストールし、*.exe.configの中身を編集しても ツールは正常に起動する。
    作動も問題なかった。

という感じでした。

このページの情報は 以上です。

サイト内関連リンク

あとがき

インストール時に.NETのバージョンチェックが行われる場合は、*.exe.configを書き加えても結局古いバージョンの.NET Framework が必要になるので、「ああ、こういう方法もあるんだな」程度に覚えておいて、Windows 10/8.1ユーザーは .NET Framework 3.5をインストールしておくのが無難かもしれません。