如何使用Visual Studio 2012在XP上定位.NET 4.0.3?应用程序无法运行“不是有效的Win32应用程序”

时间:2012-09-07 14:19:44

标签: .net visual-studio-2010 windows-7 windows-xp visual-studio-2012

我有一个针对.NET 4.0.3的大型应用程序需要在XP上运行。它使用Visual Studio 2010 SP1构建良好,并在XP上正常运行。

使用面向.NET 4.0.3的Visual Studio 2012构建也可以在Windows 7上正常运行,但无法在XP上运行。我收到一条错误消息,说MyApp.exe不是有效的Win32应用程序。

如何使用Visual Studio 2012支持XP机器继续使用.NET 4.0.3?

6 个答案:

答案 0 :(得分:9)

我们也遇到了这个问题。这不是您的应用程序所针对的框架(我们的目标是4.0客户端)。

问题是Visual Studio 2012不会产生一次点击一次将在XP上运行的setup.exe。该错误是错误的,因为它总是报告该程序不是有效的Win32应用程序。它适用于任何版本的XP,包括64位版本。

不是您的应用程序导致问题,它是由VS2012生成的setup.exe。我们找到解决问题的唯一方法是使用VS2010发布。

答案 1 :(得分:7)

我不确定这会有效,但请尝试使用shown here手动设置子系统版本EditBin.exe

答案 2 :(得分:5)

微软最近刚发布了一个修复程序。 (包括快递版本。)

详细信息:http://blogs.msdn.com/b/smondal/archive/2012/10/15/setup-exe-is-not-a-valid-win32-application.aspx

答案 3 :(得分:1)

可以在项目属性 - >下设置目标系统要求。发布 - >先决条件面板(带有更新1的VS2012)。即使您正在构建.NET 4(项目属性 - >应用程序 - >目标框架),您也需要将先决条件从4.5更改为4,因为它不会自动降低要求。

使用4的目标进行构建但是先决条件为4.5将启动安装程序但在系统检查时失败

答案 4 :(得分:0)

VS2012 Update 1应该可以解决这个问题。但是,我不知道可以使用哪些选项,是Project Properties-> General-> Platform Toolset下的Toolset?

答案 5 :(得分:0)

这对我有用 - 只需在Studio 2012中构建解决方案,并从Debug文件夹中获取解决方案内容的副本。确保XP客户端安装了.net 4。