7

我在 Windows 7 上有 VS 2012。我想构建一个可以在 Windows XP 上运行的 MFC 程序。但是,当我将 exe 文件移动到 Windows XP 时,我收到以下错误:“它不是有效的 win32 应用程序”。

在网上搜索后,我发现我应该安装Visual Studio 2012 Update 1并将平台工具集从“Visual Studio 2012 (v110)”更改为“Visual Studio 2012 - Windows XP (v110_xp)”。我还将目标机器更改为“MachineX86 (/MACHINE:X86)”。这次我在 Windows XP 上运行 exe 文件时收到另一个错误:“过程入口点 initializecriticalsection 无法位于动态库 KERNEL32.dll 中”。

现在我不知道该怎么做:(。如果有人可以帮助我,我将不胜感激:)。

请注意,我尝试了一个简单的对话框 MFC 程序,但没有添加任何代码。

4

1 回答 1

2

这是 Visual Studio 2012 Update 2 中的一个错误。该链接有一个更新 2 的解决方法(尽管来自社区),微软有这样的说法:

微软于 2013 年 6 月 5 日 16:16 发表

是的,这在更新 3 中已修复

所以你最好的选择是回滚到更新 1 或等待更新 3。

编辑 Visual Studio 2012 Update 3 Release Candidate 已发布,带有“上线”许可。警告:

支持声明

Visual Studio 2012 Update 3 RC 和带有 Update 3 RC 的 Team Foundation Server 2012 已“上线”。这意味着客户可以在生产环境中使用这些构建。这些仍然是预发布版本,因此可能会有一些错误将在最终版本中修复。支持从 Update 3 RC 升级到 Update 3 RTM。为了升级到未来的版本,客户必须首先从 Update 3 RC 升级到 Update 3 RTM。

更多信息可在此处获得。

编辑 2结果回滚到更新 1 会破坏 Visual Studio ...

于 2013-05-07T12:36:02.297 回答