问题是我昨天发的,如下:
vs2005编译出来的程序,发布时强制让用户安装了C++ Run Time 2005 Restribution,但在个别用户处运行时都出现如下错误:
Error Signature:AppVer 2.0.1.11 ModName: msvcr80.dll ModVer 8.0.50727.1433 Offset 0004f029
我在google上搜了一下,发现很多软件譬如OutLook, Avg等等
http://freeforum.avg.com/read.php?14,137193,page=1,backpage=4,sv=
http://www.eggheadcafe.com/conversation.aspx?messageid=31717861&threadid=31717861
都有这种类似的运行问题,主要应该是mfc动态库造成的。
现在我想要在我的机子上重复这个bug,便于我调试。我试过自己装一个.net framework 2.0 SP1,但还是没法重复。
一种方法是在.exe旁边加manifest指定msvcr80.dll(version 762)的库,我试下来发现这种方法只对机子里没有更新的msvcr80.dll成立,当有更新的msvcr80.dll时,程序不会用同一目录里的msvcr80.dll.下面两种试验方法都可证明:
1. 在程序中用GetModuleFileName取一下dll的完整路径,发现为1433版本库路径。
2. 把1433的msvcr80.dll改名,程序无法运行。现在请问我应该怎么办?多谢
vs2005编译出来的程序,发布时强制让用户安装了C++ Run Time 2005 Restribution,但在个别用户处运行时都出现如下错误:
Error Signature:AppVer 2.0.1.11 ModName: msvcr80.dll ModVer 8.0.50727.1433 Offset 0004f029
我在google上搜了一下,发现很多软件譬如OutLook, Avg等等
http://freeforum.avg.com/read.php?14,137193,page=1,backpage=4,sv=
http://www.eggheadcafe.com/conversation.aspx?messageid=31717861&threadid=31717861
都有这种类似的运行问题,主要应该是mfc动态库造成的。
现在我想要在我的机子上重复这个bug,便于我调试。我试过自己装一个.net framework 2.0 SP1,但还是没法重复。
一种方法是在.exe旁边加manifest指定msvcr80.dll(version 762)的库,我试下来发现这种方法只对机子里没有更新的msvcr80.dll成立,当有更新的msvcr80.dll时,程序不会用同一目录里的msvcr80.dll.下面两种试验方法都可证明:
1. 在程序中用GetModuleFileName取一下dll的完整路径,发现为1433版本库路径。
2. 把1433的msvcr80.dll改名,程序无法运行。现在请问我应该怎么办?多谢
解决方案 »
- VC IPSEC 预共享密钥
- 动态生成的radioButton,不能被选中,为什么?
- 怎样能在vc中获得excel文件里的所有用户表的表名?
- 大家好,我刚从C/C++版过来 准备开始系统的学习VC 请大家帮个忙,问几个问题
- 关于InvalidateRect()函数的一点困惑,希望大家讨论一下。
- 何如计算一个C++类的大小
- 在主程序目录下,且跟主程序同名的ini文件是不是不需要专门打开,可以直接GetProfileInt啊?
- 如何在一个位图背景上绘制图形,并且视图窗口大小改变、出现对话框覆盖视图窗口等等情况下,绘制的图形不会消失?(
- 我知道我他妈的是笨
- 你会翻译么?来看看
- 求助,vc助手能设置分号前面加空格不
- 寻求一个思路!
Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC
相对应的文件dll manifest文件 也拷贝过去
拷到你的exe目录,再试试,
http://eparg.spaces.live.com/blog/cns!59BFC22C0E7E1A76!3944.entry