在Vista/Win7/Win8下,有一个系统兼容性助手功能,在安装程序安装完成或卸载完成后,可能会弹出应用程序兼容性助手相关的提示,提示程序可能安装不正确,很是烦人。事实上,我们的程序兼容性是没问题的,只不过是在程序中没有指定应用程序兼容的操作系统,所以导致了这些问题。
VS2008和VS2010可以生成一个与exe应用程序相关联的.manifest文件,微软已经为该文件中添加了一个新的<compatibility> 字段, 这个字段用来指定你的应用程序可以兼容的操作系统,进而可以解决程序兼容性问题。
.menifest文件是一个随工程编译产生的xml文件,作用是为操作系统提供了对应用程序部分信息的描述,每个exe程序或者dll都必须有一个manifest,对于应用程序而言,可以是一个和exe文件同一目录下的.manifest文件,也可以是作为一个资源嵌入在exe文件内部的(通过修改项目配置manifest tool->input output->Embed Manifest->yes), 如果应用程序没有.manifest文件,则会提示丢失MSVCR90D.dll,无法运行。
以下是添加了<compatibility> 字段的manifest文件,添加了对Vista/Win
本文介绍了如何通过修改manifest文件解决在Vista/Win7/Win8系统下应用程序兼容性助手提示的问题。微软在manifest文件中新增了<compatibility>字段,用于指定应用程序兼容的操作系统。详细步骤包括直接修改外部manifest文件或在内嵌模式下先生成文件再修改。此外,还分享了如何查找并添加Win8兼容性的系统ID,以及推荐的官方文档资源。
订阅专栏 解锁全文
7502





