19

XP上で実行する必要がある.NET 4.0.3を対象とする大きなアプリケーションがあります。 Visual Studio 2010 SP1を使用して正常に構築され、XP上で正しく動作します。Visual Studio 2012を使用してXP上で.NET 4.0.3をターゲットに設定するにはどうすればよいですか?アプリケーションが「有効なWin32アプリケーションではありません」で実行されません。

.NET 4.0.3をターゲットとするVisual Studio 2012を使用してビルドすると、Windows 7でも正常に動作しますが、XPでは動作しません。 MyApp.exeが有効なWin32アプリケーションではないというエラーが表示されます。

Visual Studio 2012を使用してXPマシンのサポートを使用して.NET 4.0.3を引き続きターゲットに設定するにはどうすればよいですか。

+1

Visual Studio 2012は、回避策なしでWindows XPをターゲットとしてサポートしていません(http://www.microsoft.com/visualstudio/11/en-us/products/compatibilityを参照)。 – Dai

+1

私はVisual Studio 2012を使用して.NET 4.0アプリケーションを構築することができ、XP上で正常に動作します。 .NET 4.0.3では問題があるようです。 – KTrace

+0

http://www.microsoft.com/en-gb/download/details.aspx?id=29053のインストール後にXPマシンで動作しますか? – PhonicUK

答えて

7

私はこれがうまくいくとは確信していませんが、を使って手動でサブシステムのバージョンを設定するには、shown hereを試してみてください。

+0

ねえ、それは動作します!ありがとうございました。 – Sebastian

+1

VS2012環境では、 'editbin.exe"(TargetPath) "/SUBSYSTEM:WINDOWS.5.01/OSVERSION:5.1'を使用してください。 – Sebastian

9

また、この問題が発生しています。アプリケーションがどのフレームワークをターゲットにしているかは問題ではありません(4.0クライアントをターゲットにしています)。

問題は、Visual Studio 2012はXPで実行されるsetup.exeを一度クリックしないことです。このエラーは、プログラムが有効なWin32アプリケーションではないと常に報告するため、ミスリーディングになります。これは、64ビット版を含むあらゆるバージョンのXPでこれを行います。

問題を引き起こしているアプリケーションではありません。これは、VS2012によって作成されたsetup.exeです。私たちがそれを回避するために見つけた唯一の方法は、VS2010を使用して公開することです。

0

VS2012アップデート1は、この問題を解決することになっています。しかし、私はどのオプションを使用するかはわかりませんが、Projectet-> General-> Platform ToolsetのToolsetですか?

+1

それはネイティブアプリケーションのためだけに解決します – Sebastian

+0

これはプロジェクトプロパティではなく、ソリューションプロパティです。 – Mark

1

[プロジェクトのプロパティ] - > [パブリッシュ] - > [前提条件]パネル(VS2012:更新1)で、ターゲットシステム要件を設定することができます。 .NET 4(プロジェクトのプロパティ - >アプリケーション - >ターゲットフレームワーク)のために構築していても、前提条件を4.5から4に変更する必要があります。 4のターゲットが、4.5の前提条件と

ビルは、インストーラを起動するが、これは私のために働い

+0

この情報をお寄せいただきありがとうございます。私の問題を解決しました。 – gezzuzz

0

システムチェックに失敗します - ちょうどStudioの2012年にあなたのソリューションを構築し、その溶液の内容のコピーを取りますデバッグフォルダから削除します。 XPクライアントに.net 4がインストールされていることを確認します。

関連する問題