.net

旧.Net Frameworkのアプリケーションを動かす方法

インターネットでソフトウェアを探していると、旧バージョンの.Net Frameworkを対象としたEXEで、使いたいけど新しい.Net Frameworkでは動かないというケースがよくある。

 
Windowsも10になると、.Net Framework 3.5はデフォルトでインストールされていない。後からインストールすることもできるのだが、端末によって旧Frameworkをインストールしたくない場合がある。
(検証用PCなど)

 
今回その必要に駆られたのは、フリーソフト「マウストレーサー(MTrace20.exe)」だ。
ロングラン試験の一環で、1週間くらいユーザーのアクションを想定したマウス操作を行わせる。

マウストレーサーは残念ながら.Net Framework 3.5を対象として作られており、Windows 10のデフォルト状態では起動することができない。かと言って試験で使う検証用PCに.Net Framework 3.5を入れたくない。

 
そんな場合の対策方法を紹介します。


WindowsがEXEを動かす暗黙ルール

Windowsが拡張子EXEを実行する暗黙ルールとして、

[任意のファイル名].exe

を起動する前に、

[任意のファイル名].exe.config

があるかどうかを見て、ある場合は内部の設定や起動条件を見ます。

 
.Netでの開発経験がある方はわかると思いますが、
exe.config(app.config)には、起動するFrameworkのバージョンや、設定値などを記述することができます。

今回はこのルールを利用します。


[任意のファイル名].exe.configを作成する

今回はマウストレーサー(MTrace20.exe)を例に作成します。

①まず新しいテキストドキュメントを作成し、ファイル名を「MTrace20.exe.config」にします。

②テキストの中身は下記のように記述して保存します。


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
  </startup>
</configuration>

③作成したファイルをMTrace20.exeと同じフォルダに配置する。

 
以上で完了です。

MTrace20.exeをダブルクリックすると起動できるはずです。
この方法で.Framework3.5以前を対象に作られたアプリケーションが、4として動作させることができます。

 
おしまい。


 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です