DLL文件加载错误谁之过

发表于:2007-06-08来源:作者:点击数: 标签:
不知你是否有过这种经历,在运行某个程序时,系统弹出一个警告框,提示找不到所需的xxx.dll(动态链接库)文件或者无法加载。造成这种错误的原因是多方面的,很多朋友可能第一反映就是DLL文件损坏或丢失,但是好不容易将DLL文件恢复后,问题仍然得不到解决。这
  不知你是否有过这种经历,在运行某个程序时,系统弹出一个警告框,提示找不到所需的xxx.dll(动态链接库)文件或者无法加载。造成这种错误的原因是多方面的,很多朋友可能第一反映就是DLL文件损坏或丢失,但是好不容易将DLL文件恢复后,问题仍然得不到解决。这时不知你是否想过问题出在主程序身上?下面笔者就介绍两个这样的例子。

1.无法运行系统信息(Msinfo32.exe)

如果你在同一个分区中安装双系统,比如Win98与WinXP,那么在Win98“附件→系统工具”中运行系统信息时,会提示“找不到所需的.dll文件mfc42u.dll”,这时不要误认为是DLL文件丢失,而是因为WinXP中的Msinfo32.exe覆盖了同名文件。解决方法如下:

首先将“C:\Program Files\Common Files\Microsoft Shared\MSINFO\Msinfo32.exe”重命名为“Msinfo.exe”,插入Win98光盘,双击打开安装目录下的“Win98_46.cab”压缩包,将其中的“Msinfo32.exe”文件解压缩至上述的目录中,最后修改相应的快捷方式即可。

2.不能启动Outlook Express 5.0

同样是在一个分区内安装双系统,运行Win98中的OE5时,会出现“无法加载Msoe.dll,Outlook Express无法启动”的警告框,这时你需要重新安装OE5。

将“Program Files\Outlook Express”文件夹更名为“OE6”,再新建一个Outlook Express文件夹,从“控制面板→添加/删除程序→Windows 安装程序”中将OE与通讯簿全部卸载掉,然后重启系统再安装一次。

提示:如果卸载不完全,可能会出现安装的文件夹变为“Outloo~1”,EML文件不能与OE关联等其他问题。

出现上述故障的主要原因是,Win98与WinXP中的部分程序同名,但调用的DLL文件却有所不同而造成的。因此,在双系统中出现类似问题的时候,可参考上述方法解决。

原文转自:http://www.ltesting.net