应用程序配置不正确或初始化失败.doc

应用程序配置不正确或初始化失败.doc

ID:58460613

大小:87.50 KB

页数:2页

时间:2020-09-03

应用程序配置不正确或初始化失败.doc_第1页
应用程序配置不正确或初始化失败.doc_第2页
资源描述:

《应用程序配置不正确或初始化失败.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、与VC6不同,VC2003、VC2005、VC2008及其后续版本,引入了manifest清单的概念,即应用程序编译后会同时生成对应的.manifest文件,并将该.manifest文件作为资源编译到dll或者exe中去。manifest文件实际上是一个XML格式的文本文件,里面记录了dll或exe中要引用的CRT、MFC、ATL库的版本和名称。VC6编译的应用程序对CRT、MFC、ATL的dll都是直接调用,而VC2003、VC2005、VC2008编译的程序都是先查询编译到资源中的manifest中的记录,然后按照记录提供的版本和名称去搜寻对应的CRT、MFC、ATL库,搜索路径为环境变量

2、中定义的路径,若搜索到的文件版本号不匹配,则不会调用,从而导致应用程序配置不正确,程序无法启动或初始化失败等错误(相关信息可以在电脑日志中查看得知)。DLL的版本信息可以使用HA-eXeScope650-moming.exe软件查看,如下图所示(红色框内既为版本号):至于你系统内的版本号,可以到VS安装目录下的查看,本文以VS2008CRT库为例:可以看到,其版本号均为9.0.30729.4148,于上面DLL的一致,故不会存在问题VS2008的使用库目前为止分为三个版本:l没有打过任何补丁的VS2008该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8。l2、打过SP1补丁

3、的VS2008和KB补丁打过该补丁后,系统中存在着两个版本的CRT/MFC/ATL库,版本号分别为9.0.21022.8和9.0.30729.1,这导致了manifest文件中记录的版本号和实际库的版本号不一致(程序要求它们的版本号一致才能运行)。这时需要在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,该宏定义于C:ProgramFilesMicrosoftVisualStudio9.0VCincludecrtassem.h文件中,然后重新编译程序。然后还得将VS安装目录下的相对应库以及对应的manifest文件拷贝到执行程序同目录下。l3、

4、打过SP1补丁、KB补丁与KB补丁这是最新的更新,将CRT/MFC/ATL库的版本号升级到了9.0.30729.4148,仍需在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,以及将对应的库文件和manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。