我有一个针对.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?
答案 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。