win10运行exe无反应并消失(软件无法运行缘由及解决方法)

由于软件与系统的兼容问题,我们有时会遇到软件无法运行,系统提示缺少某个DLL文件支持的情况。在某个版本系统下用得好好的软件,换到另一个系统为何就不能用了呢?出现这种情况后,除了换系统还有别的解决办法吗?

小知识: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)。

win10运行exe无反应并消失(软件无法运行缘由及解决方法)

小提示:

缺失的DLL文件不一定非要拷贝到软件相同的目录或Windows目录下,其实拷贝到系统路径能够识别的其他位置也可以。那么,系统能够识别的路径有哪些?这需要通过系统“高级”设置窗口的“环境变量”来查看PATH变量,双击即可看到可支持的完整路径变量(图4)。将DLL文件放在这些文件夹中都可以找到。此外,也可以直接在命令提示符窗口中运行不带任何参数的“PATH”命令来查看当前可支持的系统路径(图5)。

小技巧:

为了防止今后在不同系统下运行程序再次遇到缺失DLL的情况,在获得了DLL文件之后,可将该文件与原程序EXE存于同一目录一并打包存放。这样,在下次使用时,就不用到处去找缺失的DLL文件了。

2. 借助工具 DLL自动下载

小提示:

发表评论

登录后才能评论