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ファイルの追加では作動しません。
テキストの中身は、以下の様にします。
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
※supportedRuntimeを書く順番で優先度が変わります。
(先に書いたものが優先されます。)
ファイル名を変更する
テキストのファイル名と拡張子を、以下の様に変更します
▲クリックで拡大
ファイル名と拡張子は、「*.exe.config」となります。
exeファイルと同じ階層に置いておけばOKです。
既に*.configファイルが存在している場合
既に*.configファイルが存在している場合は、中身を書き換えましょう。
▲クリックで拡大
configファイル内から「configuration」タグを探して、該当部分のみを書き換えるのが無難かと思います。
注意点
このページで紹介した「*.exe.config」を追加する (書き換える) 方法は、万能では無いようです。
HandBrake v0.9.3 (.NET Framework2.0アプリ)でテストしてみた所- インストーラーにこの方法は通用しなかった。
(インストーラー内部でバージョンチェックを行っている感じ)
(.NET3.5のインストールが必要) - 一度インストールしてしまえば、.NET 3.5をアンインストールし、*.exe.configの中身を編集しても ツールは正常に起動する。
作動も問題なかった。
という感じでした。
このページの情報は 以上です。
サイト内関連リンク
- .NET Framework 4.5と下位バージョンの互換性がカオス
- Windows 10/8.1 で古い .NET Framework ツールを作動させるTips
- 「古い.NET Frameworkアプリ」を「configファイルを弄って」無理やり作動させる方法 (このページ)
あとがき
インストール時に.NETのバージョンチェックが行われる場合は、*.exe.configを書き加えても結局古いバージョンの.NET Framework が必要になるので、「ああ、こういう方法もあるんだな」程度に覚えておいて、Windows 10/8.1ユーザーは .NET Framework 3.5をインストールしておくのが無難かもしれません。