原先我用的XP SP2 + VC2005 SP1,编译出来的程序,动态链接到运行时库,编译器给我链接到的都是8.0.50727.762版本的DLL,在Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\目录下都能找到,现在装了XP SP3以后,编译出来的程序居然全都链接到8.0.50727.1433版本上去了。我查看了一下,三个DLL的生成日期都是07年10月24日,估计是SP3带来的。但是在VC\redist下面并没有更新(另外1433版本只存在于Release版,Debug版生成的还是链接到762版)。
我现在想问的是,如何配置我的工程,让程序在链接的时候链接到762版本的DLL上面去?以下是我试过的,无效的方法:
1、manifest外置,修改manifest,将版本号改成8.0.50727.762
2、manifest内置,创建一个指向版本号8.0.50727.762的新的manifest
3、manifest内置,创建一个带有bindRedirect的新manifest
4、修改工程属性的Manifest Tool->Assembly Identity属性,在里面填上8.0.50727.762
以上方法都会造成程序无法运行,要么提示运行时库错误,要么提示程序安装错误求解!
我现在想问的是,如何配置我的工程,让程序在链接的时候链接到762版本的DLL上面去?以下是我试过的,无效的方法:
1、manifest外置,修改manifest,将版本号改成8.0.50727.762
2、manifest内置,创建一个指向版本号8.0.50727.762的新的manifest
3、manifest内置,创建一个带有bindRedirect的新manifest
4、修改工程属性的Manifest Tool->Assembly Identity属性,在里面填上8.0.50727.762
以上方法都会造成程序无法运行,要么提示运行时库错误,要么提示程序安装错误求解!
解决方案 »
- dan 很 teng~~~~~~~~~~~~~
- 我是用BCB开发的,想学习VC请大家给点意见
- 如何制作一个完整的MFC程序,新手请教,如何打开别人的demo并使其可以运行??
- 各位达人,帮帮忙啊,在线等待(100)
- 在VC中如何调用文件的默认程序,打开该文件
- 如何去掉winhelp支持或或者直接去掉属性表上的帮助按钮
- 关于IIS过滤器的问题?
- 初学VC,没有人指点,不会调试程序怎么办,眼看着ERROR漫天遍野的发生?
- 怎样在for循环中多次设定定时器
- 请问直接用socket发送邮件,附件该怎么发?有人熟悉mime吗?
- 请教使用GetDeviceCaps获取的设备LOGPIXELSX值的意义
- 请问:如何收到数据链路层的数据?
1、策略文件中必须存在所需版本的映射项。
2、映射的新版本DLL必须存在。
如果两个条件任意一项不满足,则加载失败。这说明了两个事实:
1、即使目标机器上存在着所需版本的DLL,但是没有添加版本映射策略,加载也会失败,所以sxs部署方式仅仅复制文件是不够的。使用vc自带的重部署包安装能正确地配置映射策略。
2、如果目标机器上不存在所需版本的DLL,但是有更高版本的DLL,而且所需版本被映射到了高版本,那么加载也会成功。
softmic,com haha微軟的微代表?軟代表?