C++程序避免触发 Win7下的程序兼容助手
在win7或vista下安装编写的程序,经常会出现程序兼容助手,如下(图片来自于下面的参考文章):
出现该提示,是windows认为程序在安装过程中可能存在问题,并在该提示中列出了建议的解决方案。
而通常情况下,我们所编写的程序是不存在兼容性问题的,这时,windows的这种提示显得多余,而且造成用户体验较差。
针对该问题,微软提供了解决方案:
在manifest文件中,加入“compatibility”节点,用于告知系统该应用程序兼容compatibility中所列出的系统版本。如支持win7和vista,则加入以下内容:
<?xml version="1.0" encoding="UTF-8"standalone="yes"?>
<assemblyxmlns="urn:schemas-microsoft-com:asm.v1"manifestVersion="1.0">
<compatibilityxmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The IDbelow indicates application support for Windows Vista -->
<supportedOSId="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The IDbelow indicates application support for Windows 7 -->
<supportedOSId="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
通常,我们编译的程序不需要单独输出manifest文件(单独输出manifest文件是会有一种程序不清爽的感觉,每个dll或exe都将相应地有一个manifest文件)。
如何编译出在win7下不弹出兼容助手的程序?
1. 将上面的xml内容保存到一个xml文件中,如“123456.xml”;
2. 在VS项目属性,配置属性/清单工具/输入和输出/附加清单文件中加入该文件路径,如下:
3. 重新编译并生成exe文件,运行该exe,不再出现程序兼容助手提示。
参考:http://www.cnblogs.com/zhyong/archive/2011/08/09/2131815.html
参考:http://blog.csdn.net/maxuhuiabc/article/details/6081874
另外,以下设置可减少生成的exe的体积。
1. 配置属性/c++/代码生成,启用最小重新生成设为 否
2. 配置属性/链接器/常规,启用增量链接 设为 否
C++程序避免触发 Win7下的程序兼容助手相关推荐
- windows在此计算机上找不到系统映象,Win7下打开程序提示应用程序或dll 为无效的windows映像怎么办...
在win7系统中我们经常会打开应用程序进行操作,不过有用户却发现打开应用程序的时候,系统就会弹出提示应用程序或DLL X:XXXXXX.DLL为无效的windows映像",使用主流的杀毒软件 ...
- win7下应用程序图标不显示
win7下应用程序图标不显示 有个程序的图标怎么都不能显示,移到文件夹外能正常显示,影响观瞻,网上找了下资料.大致方案就是关闭桌面进程,清理图标缓存,启动桌面重建缓存.这个方法好像XP下面也可行的. ...
- 让程序不触发 Vista/Win7下应用程序兼容性助手弹出
在Vista/Win7下 运行一个 exe 应用程序后,系统经常弹出 兼容性助手对话框.这个十分烦人,上网搜索解决方案, 满屏都是修改系统组策略(实质是修改注册表),但是作为一个商业产品,有的用户不 ...
- win7下反汇编程序程序基址改变问题
windows vista开始有动态基地址的功能,只要pe头Dll Characteristics有0x40每次加载时基地址都不一样 自己的程序: 要想基址固定,在链接器中去掉/DYNAMICBASE ...
- linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题
解决linux下java程序(例如applet)中文乱码问题 平台:Mandriva 2006.0 将Windows下的字体文件simsun.ttc拷贝到/usr/share/fonts/zh_CN, ...
- 64位系统魔兽服务器不兼容,魔兽世界Win7下出现不兼容问题的解决办法
3月18日消息,今日魔兽美服官方论坛上有玩家发帖称Windows 7系统在重装魔兽之后无法安装升级补丁包.这位玩家称,在Win7推出以后,打算将自己的Vista系统换成Win7.Windows7是20 ...
- 通过修改程序解决win7下应用程序兼容性助手弹出
在win7和vista下,有一个系统兼容性助手功能,利用VS2008开发的程序在运行时,总是弹出应用程序兼容性助手提示框,非常烦人,事实上我们的程序兼容性是没有问题的,只不过是在程序中没有指定应用程序 ...
- 微信小程序 服务器触发事件,微信小程序组件间通讯与事件
##组件间通讯与事件 一.前言 如果小程序中有可复用的UI且具有一定的功能性,就可以使用自定义组件将其封装起来.(如果仅仅只需要复用UI可使用template)下面介绍父子组件的数据传递方法,以及一个 ...
- linux程序流量平滑,Linux下按程序查实时流量 network traffic(示例代码)
实然看到下载速度多达几M/s,但实际上并没有什么占用带宽的进程. 相查看每个程序占用的网络流量, 但系统自带的 System Monitor 只能查看全局的流量, 不能具体看某个程序的...... k ...
最新文章
- 机器学习编程语言_我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习?...
- python lowercase_python 的 string.casefold 和 string.lower 方法区别?
- 初试 webfont
- ecshop根目录调用_ecshop优化修改sitemap.xml到根目录
- CART决策树(分类回归树)分析及应用建模
- 阿里巴巴开源项目nginx_concat_module企业部署实例
- CentOS 使用 Docker 安装 Sentry
- ofstream与ate的故事
- fetch的基本用法
- Linux防火墙-netfilter filter表案列与nat表应用
- 在线文档有哪些技术难点
- 手写二叉树的基本操作
- 数据库中的日期相减_sql中两个日期相减
- php随机生成微信昵称(二)
- linux 软件放什么目录,Linux 下的各种目录
- MSP430F149IPMR
- 什么是动态代理?两种常用的动态代理方式
- 萌宠经济升温,宠物摄影师成为热门新职业-捷径系统
- 单片机晶振概述及工作原理
- Android系统的Ashmem匿名共享内存子系统分析(4)- Ashmem子系统的 Java访问接口