0

最近、作成したアプリケーションを起動するときに、正しい .NET バージョンのチェックを含めました。非常に簡単です:

if (Environment.Version.Major < 4)
{
    //Alert user, exit program
}

しかし、必要な .NET バージョンがインストールされていないコンピューターで、作成した別の .NET アプリケーション (チェックが行われていない) を実行すると、アプリを実行できないという警告が表示されることに気付きました。VS2012 で作成されたアプリケーションには、そのようなチェックが自動的に含まれますか?

4

3 に答える 3

1

.NET は、アプリケーションが対象としているバージョンがインストールされている場合にのみ実行されます。たとえば、アプリを作成してターゲット.NET 4.0を設定し、マシンに 4.0 がインストールされていない場合、アプリはまったく起動しないため、Environment.Versionを使用したチェックはかなり冗長です。

.NET に依存せずに .NET のバージョンがインストールされているかどうか (ニワトリが先か卵が先かの問題) を真に判断できるようにするには、検出アプリ/ビットを C++ などの別の言語で記述する必要があります。詳細については、この記事を参照してください。レジストリで何を探すべきか (どのバージョンの .NET がインストールされているかを確認する数少ない方法の 1 つ)、キーはHKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\にあります。

于 2013-06-20T20:57:39.770 に答える
0

これはうまくいきません。正しいバージョンの .NET インストーラーがない場合、ユーザーには「アプリが動作を停止しました」というメッセージのみが表示されます。

やりたいことは、.NET アプリのブートストラップです。

于 2013-06-20T21:11:29.610 に答える