论文部分内容阅读
由于软件与系统的兼容问题,我们有时会遇到软件无法运行、系统提示缺少某个DLL文件支持的情况。在某个版本系统下用得好好的软件,换到另一个系统为何就不能用了呢?出现这种情况后,除了换系统还有别的解决办法吗?
1. DLL文件缺失为哪般
作为与EXE发生关联的一种文件,DLL文件可与其关联的EXE主文件处在同一个目录中,也可能不在同一目录中。许多程序共享使用的DLL文件随系统存在于Windows目录或其子目录中,为系统自带的文件,也有软件在安装时才将这些文件安装在系统目录中。但是,当一些程序作为“绿色”软件使用时,人们又往往会忽略这一点。在同样的系统中,拷贝了主程序而未拷贝DLL文件,到了另一个相同版本的系统中使用,由于该系统中默认已有所需的DLL文件,所以给人的假象便是该软件好像不需要DLL文件也能运行,但实际上在运行中它是要调用系统目录中的DLL文件的。若将该软件直接拷贝移植到了另一个不同版本的系统中,若系统中不包含其所需的DLL文件,运行时就会出现问题,显示DLL缺失的提示。
2. 跨越系统 DLL借用移植
知道了问题发生的原因,就可以用“倒推法”解决了。系统提示缺少哪个文件,就通过系统搜索功能,在原来运行完好的系统中搜索这个文件,从搜索结果中选择位于系统目录下该DLL文件版本,拷贝移植到新的系统目录中,或者直接拷贝到与主程序相同的目录中即可。
以一款剪贴板软件3DClip.exe为例,这款软件在Windows 7之前的系统中一直运行良好,且人们一向都将其作为绿色软件直接拷贝使用。但在Windows 8之后的系统中运行,却出现了系统错误提示信息,显示“无法启动此程序,因为计算机中丢失MSVBVM50.DLL。尝试重新安装该程序解决此问题”(图1)。由于下载不到该软件的安装程序或安装后问题依旧,因此只有通过寻找MSVBVM50.DLL来解决了。
此前在Windows XP中3DClip.exe运行一切正常,因此可以断定该MSVBVM50.DLL文件一定存在于Windows XP系统的某个角落。这时只需找一台运行Windows XP的电脑,用搜索工具在系统盘下搜索MSVBVM50.DLL文件,从搜索结果中复制此文件到新系统中(图2),或直接拷贝到3DClip.exe所在的文件夹中运行。这时,我们发现已经能一如既往地启动该软件了(图3)。
3. 借助工具 DLL自动下载
如果手头上正好没有低版本的系统,无法通过直接替换法找到相应的DLL文件,这时可以借助于专用工具来在线查找DLL文件。这里推介一款DllFiles.comFixer工具,启动该软件后,点击“安装DLL文件”选项卡,在出现的文本框中输入要查找的DLL文件名,然后点击“搜索DLL-Files.com”按钮,即可联网搜索出需要的DLL文件(图6),下载补缺即可。
DLL文件的作用与好处
大家都知道,软件的主程序一般为EXE类型的可执行文件,直接双击它可以启动一个软件,但对DLL文件知道的可能不如EXE多。DLL是一种“动态链接库”文件,它是一套程序的重要组成部分。在许多程序的开发中,由于需要调用相似或相同的功能,或由于功能繁多,开发时设计者会将功能相对独立或可以共享使用的部分单独设计成一个模块,于是就将这些功能模块包装成一个动态链接库DLL文件。一个程序可以调用多个DLL,而多个程序又可以分享同一个DLL,管理起来就方便多了,同时又节省了资源。
1. DLL文件缺失为哪般
作为与EXE发生关联的一种文件,DLL文件可与其关联的EXE主文件处在同一个目录中,也可能不在同一目录中。许多程序共享使用的DLL文件随系统存在于Windows目录或其子目录中,为系统自带的文件,也有软件在安装时才将这些文件安装在系统目录中。但是,当一些程序作为“绿色”软件使用时,人们又往往会忽略这一点。在同样的系统中,拷贝了主程序而未拷贝DLL文件,到了另一个相同版本的系统中使用,由于该系统中默认已有所需的DLL文件,所以给人的假象便是该软件好像不需要DLL文件也能运行,但实际上在运行中它是要调用系统目录中的DLL文件的。若将该软件直接拷贝移植到了另一个不同版本的系统中,若系统中不包含其所需的DLL文件,运行时就会出现问题,显示DLL缺失的提示。
2. 跨越系统 DLL借用移植
知道了问题发生的原因,就可以用“倒推法”解决了。系统提示缺少哪个文件,就通过系统搜索功能,在原来运行完好的系统中搜索这个文件,从搜索结果中选择位于系统目录下该DLL文件版本,拷贝移植到新的系统目录中,或者直接拷贝到与主程序相同的目录中即可。
以一款剪贴板软件3DClip.exe为例,这款软件在Windows 7之前的系统中一直运行良好,且人们一向都将其作为绿色软件直接拷贝使用。但在Windows 8之后的系统中运行,却出现了系统错误提示信息,显示“无法启动此程序,因为计算机中丢失MSVBVM50.DLL。尝试重新安装该程序解决此问题”(图1)。由于下载不到该软件的安装程序或安装后问题依旧,因此只有通过寻找MSVBVM50.DLL来解决了。
此前在Windows XP中3DClip.exe运行一切正常,因此可以断定该MSVBVM50.DLL文件一定存在于Windows XP系统的某个角落。这时只需找一台运行Windows XP的电脑,用搜索工具在系统盘下搜索MSVBVM50.DLL文件,从搜索结果中复制此文件到新系统中(图2),或直接拷贝到3DClip.exe所在的文件夹中运行。这时,我们发现已经能一如既往地启动该软件了(图3)。
3. 借助工具 DLL自动下载
如果手头上正好没有低版本的系统,无法通过直接替换法找到相应的DLL文件,这时可以借助于专用工具来在线查找DLL文件。这里推介一款DllFiles.comFixer工具,启动该软件后,点击“安装DLL文件”选项卡,在出现的文本框中输入要查找的DLL文件名,然后点击“搜索DLL-Files.com”按钮,即可联网搜索出需要的DLL文件(图6),下载补缺即可。
DLL文件的作用与好处
大家都知道,软件的主程序一般为EXE类型的可执行文件,直接双击它可以启动一个软件,但对DLL文件知道的可能不如EXE多。DLL是一种“动态链接库”文件,它是一套程序的重要组成部分。在许多程序的开发中,由于需要调用相似或相同的功能,或由于功能繁多,开发时设计者会将功能相对独立或可以共享使用的部分单独设计成一个模块,于是就将这些功能模块包装成一个动态链接库DLL文件。一个程序可以调用多个DLL,而多个程序又可以分享同一个DLL,管理起来就方便多了,同时又节省了资源。