20

XPで実行する必要がある.NET4.0.3を対象とする大規模なアプリケーションがあります。Visual Studio 2010 SP1を使用して正常にビルドされ、XPで正しく実行されます。

.NET4.0.3をターゲットとするVisualStudio2012を使用したビルドも、Windows 7で正常にビルドおよび正常に実行されますが、XPでは実行できません。MyApp.exeは有効なWin32アプリケーションではないというエラーが表示されます。

Visual Studio2012を使用してXPマシンをサポートする.NET4.0.3を引き続きターゲットにするにはどうすればよいですか?

4

6 に答える 6

9

私たちもこの問題を抱えています。アプリケーションがどのフレームワークを対象としているかは問題ではありません (4.0 クライアントを対象としています)。

問題は、Visual Studio 2012 が、XP で実行される setup.exe をワンクリックで生成しないことです。このエラーは、プログラムが有効な Win32 アプリケーションではないことを常に報告するため、誤解を招きます。これは、64 ビット バージョンを含む任意のバージョンの XP で実行されます。

問題の原因はアプリケーションではなく、VS2012 によって生成された setup.exe です。これを回避する唯一の方法は、VS2010 を使用して公開することです。

于 2012-09-25T21:19:16.970 に答える
8

これが機能するかどうかはわかりませんが、ここに示すトリックを試して、サブシステムのバージョンを手動でEditBin.exe.

于 2013-01-17T09:28:57.297 に答える
5

マイクロソフトは最近、これに対する修正を投稿しました。(Express バージョンが含まれています。)

詳細: http://blogs.msdn.com/b/smondal/archive/2012/10/15/setup-exe-is-not-a-valid-win32-application.aspx

于 2012-11-15T16:14:12.557 に答える
1

[プロジェクト プロパティ] -> [発行] -> [前提条件] パネル (Update 1 を適用した VS2012) で、ターゲットのシステム要件を設定することができます。.NET 4 (プロジェクト プロパティ -> アプリケーション -> ターゲット フレームワーク) 用にビルドしている場合でも、要件が自動的に削除されないため、前提条件を 4.5 から 4 に変更する必要があります。

ターゲットが 4 で前提条件が 4.5 のビルドでは、インストーラーは起動しますが、システム チェックで失敗します。

于 2013-05-22T06:43:26.100 に答える
0

VS2012 Update 1 は、この問題を解決するはずです。ただし、どのオプションを使用すればよいかわかりません。それは Project Properties->General->Platform Toolset の下にある Toolset ですか?

于 2012-12-12T01:49:31.223 に答える