20

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

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

如何继续以 .NET 4.0.3 为目标,支持使用 Visual Studio 2012 的 XP 机器?

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

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

详情见: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

可以在 Project Properties -> Publish -> Prerequisites 面板下设置目标系统要求(VS2012 with Update 1)。即使您正在为 .NET 4(项目属性 -> 应用程序 -> 目标框架)构建,您也需要将先决条件从 4.5 更改为 4,因为它不会自动放弃要求。

以 4 为目标但前提为 4.5 的构建将启动安装程序但系统检查失败

于 2013-05-22T06:43:26.100 回答
0

VS2012 Update 1 应该可以解决这个问题。但是,我不确定要使用哪些选项,它是项目属性->常规->平台工具集下的工具集吗?

于 2012-12-12T01:49:31.223 回答
0

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

于 2013-06-24T21:42:15.377 回答