VisualStudio 编译出来的程序不兼容Win7
来源:互联网 发布:php setcookie 无效 编辑:程序博客网 时间:2024/05/01 22:22
在win7和vista下,有一个系统兼容性助手功能,利用VS2008开发的程序在运行时,总是弹出应用程序兼容性助手提示框,非常烦人,事实上我们的程序兼容性是没有问题的,只不过是在程序中没有指定应用程序兼容的操作系统,所以导致了这一问题。
.menifest文件是一个随工程编译产生的xml文件,作用是为操作系统提供了对应用程序部分信息的描述,每个exe程序或者dll都必须有一个manifest,对于应用程序而言,Manifest可以是一个和exe文件同一目录下的.manifest文件,也可以是作为一个资源嵌入在exe文件内部的(通过修改项目配置manifest tool->input output->Embed Manifest->yes), 如果应用程序没有.manifest文件,则会提示丢失MSVCR90D.dll,无法运行。
微软已经为应用程序的 menifest 文件中添加了一个新的<compatibility> Section, 这个Section用来指定你的应用程序可以兼容的操作系统。以下是MSDN上给出的示例:
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--The ID below indicates application support for Windows Vista -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
- <!--The ID below indicates application support for Windows 7 -->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- </application>
- </compatibility>
- </assembly>
如果你的项目会生成一个.manifest文件的话,也就是不是内嵌模式,直接修改该文件,重新编译即可。
如果你的项目设置的是将.manifest文件内嵌到应用程序内部,则你需要先修改为非内嵌模式,编译,生成.manifest文件,修改该文件后,再将工程属性改为内嵌模式。同时将修改后的.manifest文件通过additional manifest file 选项添加到工程里面,重新编译即可。
原文地址:http://blog.csdn.net/rainkop/article/details/8065297
- VisualStudio 编译出来的程序不兼容Win7
- VS2010编译出来的程序不兼容Win7 再解
- 编译兼容win7/win8的程序
- WIN7 下 VS2013编译出来的程序不能在XP运行
- vs2012 与 win7 不兼容的问题
- VS2012与win7不兼容的解决办法
- 让VC编译出来的程序不显示CMD黑色窗口
- 开发兼容Win7的Ms Agent程序
- 程序是验证不出来的
- C++程序避免触发 Win7下的程序兼容助手
- MATLAB与win7不兼容
- VS2012与WIN7不兼容
- matlab7与win7不兼容
- vs2012和WIN7不兼容
- VS2012编译兼容XP程序的方法
- 关于wtk不兼容64位Win7的问题解决
- visual assist X(VA_X) win7下不兼容的解决办法
- win7系统不兼容软件问题的解决办法
- android换皮肤思路总结
- 史上最最佳软件开发实践指导
- MsgWaitForMultipleObjects 返回值为 WAIT_OBJECT_0 + nCount 时候
- ios MKNetworkKit 的使用
- Android Pileup ROM升级漏洞初探
- VisualStudio 编译出来的程序不兼容Win7
- Android中如何以编程方式(programmatically)载入 NinePatch 图片
- Java web项目listener Filter servlet启动顺序和配置
- OAUTH协议简介
- Android 带你从源码的角度解析Scroller的滚动实现原理
- 厌倦了编程书?来试试这3种提高编程技能的有趣方法吧
- spring mvc ajax 中文乱码
- openstack中VM迁移流程图
- Ref与Out的区别