(转载)用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序“
原文地址:http://www.vcerror.com/?p=1483
问题描述:
用VC2013编译了一个程序,在Windows 8、Windows 7(64位、32位)下都能正常运行。但在Win XP,Win2003下运行时,却报错不能运行,具体错误信息为“指定的可执行文件不是有效的 Win32 应用程序”。
用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序
问题分析:
用eXeScope打开该exe,发现操作系统需求为“6.0”,即只能在Windows Vista或更高的操作系统下运行。
解决方法:
解决方法1:
链接器->系统->子系统->控制台或windows 后面的”最低版本“是5.01

解决办法2:
1.用VC2013打开项目源代码,选中项目,然后右键菜单里点属性打开项目属性对话框;
2.在左侧树列表里选择 配置属性->常规,然后在右侧列表的“平台工具集”选中“Visual Studio 2013 – Windows XP (v120_xp)”,再点击确认。
改好后重新编译,就能正常运行了。
此时再用eXeScope打开该exe,发现操作系统需求为“5.1”,即能在Windows XP或更高的操作系统下运行。
参考微软的解释
http://msdn.microsoft.com/zh-SG/library/jj851139.aspx
解决办法3:
1.下载安装升级包http://www.microsoft.com/zh-cn/download/details.aspx?id=39305
2.可以通过如下的操作实现:
1).在“Solution Explorer”中选中项目,然后右键菜单里点属性。
2).在Property Pages里选择Configuation Properties,选择General,然后在Platform Toolset里选中Visual Studio 2012 – Windows XP (v110_xp)即可。

这种方法的具体说明可参考:
http://www.cnblogs.com/hwangbae/archive/2012/11/27/2790637.html
(转载)用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序“的更多相关文章
- 如何让VS2012编写的程序在XP下运行
Win32主程序需要以下设置 第一步:在工程属性General设置 第二步:在C/C++ Code Generation 设置 第三步:SubSystem 和 Minimum Required Ve ...
- 如何让VS2013编写的程序在xp下运行
总体分c++程序和c#程序 1.c++程序 这个用C++编写的程序可以经过设置后在XP下运行,主要的“平台工具集”里修改就可以. 额外说明:(1)程序必须为Dotnet 4.0及以下版本.(XP只支持 ...
- C++/CLR 使用(VS2012,VS2013,VS2015)编写
转载自:http://www.th7.cn/system/win/201509/129417.shtml VS2010以及以前的版本,创建项目时都可以在CLR下找到"Windows窗体应用程 ...
- VS2010 和VS2012 的程序在XP上运行的方法
问题表象: VS2012编译的程序不能再XP下运行 解决办法: 1.工程设置的方法 在vs2012里,右键 属性->配置属性-常规->平台工具集->选个VS2008什么的就ok了~ ...
- 用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序
经常创建项目的时候,采用空项目,那么编译成功后,最好修改下sbusystem . 链接器->系统->子系统->控制台或windows 后面的"最低版本"是5.01
- window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory
今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpre ...
- 让用VS2012/VS2013编写的程序在XP中顺利运行
转自:http://blog.csdn.net/asanscape/article/details/38752655/ 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在V ...
- 让用VS2012/VS2013编写的程序在XP中顺利执行
微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序仅仅能在Vista/Win7/Win8上执行.但幸好还保留了生成XP程序的设置项.XP和Win2003的用户还是大量存在的,我们 ...
- 【Visual Studio】让用VS2012/VS2013编写的程序在XP中顺利运行(转)
原文转自 http://blog.csdn.net/asanscape/article/details/38752655 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在 ...
随机推荐
- Mysql与PostgreSQL小pk
普通增删改查 表结构及数据都极其简单,命名也及其不讲究.均为默认配置,mysql表默认InnoDB引擎.表x包含三个int字段a b c,100W条数据均a=1 b=2 c=3 sql语句 建表: c ...
- Object.keys、Object.getOwnPropertyNames区别
用途 Object.keys 定义:返回一个对象可枚举属性的字符串数组: Object.getOwnPropertyNames 定义:返回一个对象可枚举.不可枚举属性的名称: 属性的可枚举性.不可枚举 ...
- Java与算法之(9) - 直接插入排序
直接插入排序是最简单的排序算法,也比较符合人的思维习惯.想像一下玩扑克牌抓牌的过程.第一张抓到5,放在手里:第二张抓到3,习惯性的会把它放在5的前面:第三张抓到7,放在5的后面:第四张抓到4,那么我们 ...
- CCNA笔记(3)
网络类型 1,局域网 在一定范围的网络连接,只允许内部人员使用 2城域网 一个城市的网络连接在一起 3.广域网 一个省或者一个市的网络 所有的局域网加上广域网就是互联网
- poj_1144Network(tarjan求割点)
poj_1144Network(tarjan求割点) 标签: tarjan 割点割边模板 题目链接 Network Time Limit: 1000MS Memory Limit: 10000K To ...
- 【C#】数据库脚本生成工具(二)
年C#研发的数据库文档生成工具,给之后的工作带来了便利.近日,又针对该工具,用WinForm开发了数据库脚本生成工具-DbExcelToSQL. 下面数据库文档生成工具效果图: 感兴趣的朋友可以看下[ ...
- UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现
UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 package com.hzf.spark.study; import ...
- java常量池詳解
一.相关概念 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. Class文件中的常量池在Clas ...
- MySQL密码忘了怎么办?MySQL重置root密码方法
本文主要介绍Windows和Linux系统下忘记密码重置root密码的方法,需要的朋友可以参考下. MySQL有时候忘记了root密码是一件伤感的事.这里提供Windows 和 Linux 下的密码重 ...
- 谁能教我iCloud怎么用?
iCloud是苹果公司所提供的云端服务,使用者可以免费储存5GB的资料.你已经开始使用IOS5,并且你很兴奋的着手于将它同步至云服务层.以下就是怎样让你的设备更新至云服务层的非常简单的步骤.在你的iO ...