通过修改程序解决win7下应用程序兼容性助手弹出
2014-05-25 20:09
337 查看
在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上给出的示例:
如果你的项目会生成一个.manifest文件的话,也就是不是内嵌模式,直接修改该文件,重新编译即可。
如果你的项目设置的是将.manifest文件内嵌到应用程序内部,则你需要先修改为非内嵌模式,编译,生成.manifest文件,修改该文件后,再将工程属性改为内嵌模式。同时将修改后的.manifest文件通过additional manifest file 选项添加到工程里面,重新编译即可。
.menifest文件是一个随工程编译产生的xml文件,作用是为操作系统提供了对应用程序部分信息的描述,每个exe程序或者dll都必须有一个manifest,对于应用程序而言,Manifest可以是一个和exe文件同一目录下的.manifest文件,也可以是作为一个资源嵌入在exe文件内部的(通过修改项目配置manifest tool->input output->Embed Manifest->yes),
如果应用程序没有.manifest文件,则会提示丢失MSVCR90D.dll,无法运行。
微软已经为应用程序的 menifest 文件中添加了一个新的<compatibility> Section, 这个Section用来指定你的应用程序可以兼容的操作系统。以下是MSDN上给出的示例:
01.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 02. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 03. <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 04. <application> 05. <!--The ID below indicates application support for Windows Vista --> 06. <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 07. <!--The ID below indicates application support for Windows 7 --> 08. <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 09. </application> 10. </compatibility> 11. </assembly>
如果你的项目会生成一个.manifest文件的话,也就是不是内嵌模式,直接修改该文件,重新编译即可。
如果你的项目设置的是将.manifest文件内嵌到应用程序内部,则你需要先修改为非内嵌模式,编译,生成.manifest文件,修改该文件后,再将工程属性改为内嵌模式。同时将修改后的.manifest文件通过additional manifest file 选项添加到工程里面,重新编译即可。
相关文章推荐
- 通过修改程序解决win7下应用程序兼容性助手弹出
- 通过修改程序解决Vista/Win7/Win8下应用程序兼容性问题
- WIN7下弹出应用程序兼容性助手解决
- 通过修改程序解决Vista/Win7/Win8下应用程序兼容性问题
- 通过修改manifest文件来解决Vista/Win7/Win8下应用程序兼容性问题
- 通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
- 通过修改manifest解决Vista/Win7/Win8下应用程序兼容性问题
- [转]让程序不触发 Vista/Win7下应用程序兼容性助手弹出 .
- 让程序不触发 Vista/Win7下应用程序兼容性助手弹出
- 打开“添加或删除程序”弹出 rundll32.exe-应用程序错误 “0x00310030” 解决办法
- 关于可执行程序 执行后 弹出“兼容性助手” 和 cef 客户端 titel无法显示的问题。
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- win7关机时强制关闭程序通过修改组策略实现
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- WIN7下Intel 3945ABG无线网卡修改MAC地址通过校园网H3C认证(含可执行程序)
- win7下文件无法修改默认程序之解决方法
- WIN7下Intel 3945ABG无线网卡修改MAC地址通过校园网H3C认证(含可执行程序)
- 好系统重装助手教你如何通过修改注册表完全删除程序