电脑提示缺少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)。


  小提示:

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


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

  2. 借助工具 DLL自动下载

  如果手头上正好没有低版本的系统,无法通过直接替换法找到相应的DLL文件。这时可以借助于专用工具来在线查找DLL文件。这里推介一款DllFiles.comFixer工具,启动该软件后,点击“安装DLL文件”选项卡,在出现的文本框中输入要查找的DLL文件名,然后点击“搜索DLL-Files.com”按钮,即可联网搜索出需要的DLL文件(图6),下载补缺即可。


  DllFiles.comFixer不但具有缺失DLL的检测和自动修复功能,还具有注册表检测修复功能。软件运行后,在“状态”页面,点击“立即开始扫描”按钮,即可对注册表进行深入扫描、清理和优化,有利于提升系统的性能(图7)。

时间: 2024-10-29 07:56:37

电脑提示缺少DLL报错怎么办 补全DLL的方法的相关文章

c++-【下跪】PB调用C的DLL报错

问题描述 [下跪]PB调用C的DLL报错 一下是文档中的结构体: typedef struct{byte Track2[37]; /*二磁道信息 ,asc格式 最长37个字节 */byte Track3[104]; /*三磁道信息 asc 格式 最长 104个字节*/byte Pwd[8]; /*加密后的密码 8个字节 */byte Amount[12]; /* 金额, 分为单位000000000001 代表1分不允许0金额积分兑奖时为积分*/byte Trace[6]; /* 终端流水,不是动

kernelbase.dll-C# KERNELBASE.dll报错看内容

问题描述 C# KERNELBASE.dll报错看内容 C#写的应用程序,在本机正常,32位,但是在一个64位的电脑上没有办法运行,后来我在另一个64位上运行也是好的:我已知道是哪个dll有问题了,((System.ComponentModel.ISupportInitialize)(this.A)).EndInit();时出的错.A为A.dll,但是为什么其他2台是可以运行而只有那个不可以.还有在事件查看器windows日志中却看到是KERNELBASE.dll报错 :错误应用程序名称:A.e

Win7电脑发生蓝屏报错“0x0000040”怎么解决

  Win7电脑发生蓝屏报错"0x0000040"怎么解决 1.按Win+R打开运行,输入"ncpa.cpl"按回车键或确定; 2.打开网络连接窗口,在窗口找到网络连接并右键菜单中选择"删除"选项,如果删除选项时灰色,可以尝试禁用网络再启用; 3.如果连接的是无线网络,那么可以禁用有线的网卡设备防止冲突,打开开始--控制面板; 4.进入系统和安全--系统--设备管理器; 5.在设备管理器窗口中展开"网络适配器",选择有线网卡设

Win7电脑发生蓝屏报错“0x0000040”如何解决

  Win7电脑发生蓝屏报错"0x0000040"的解决办法: 1.按Win+R打开运行,输入"ncpa.cpl"按回车键或确定; 2.打开网络连接窗口,在窗口找到网络连接并右键菜单中选择"删除"选项,如果删除选项时灰色,可以尝试禁用网络再启用; 3.如果连接的是无线网络,那么可以禁用有线的网卡设备防止冲突,打开开始--控制面板; 4.进入系统和安全--系统--设备管理器; 5.在设备管理器窗口中展开"网络适配器",选择有线网

电脑出现系统故障开机报错svchost.exe怎么办?

  电脑出现系统故障开机报错svchost.exe怎么办?有时候开机遇到一些错误让人烦恼应该怎么办呢?以svchost应用程序错误为例 1.做任何一件事情我们都应该有个思路.解决问题的思路 简单来说就是 发现问题症结 ,对症下药则药到病除. 2.我们把系统故障分为一下几类.开机 ,关机,软件错误 等. 3.以svchost错误为例子,balabala内存读取指令错误.由于是开机出错,应该会与启动项相关联.所以前去系统配置程序MSCONFIG. 具体操作:win+R,输入msconfig.进入启动

maven项目本地仓库有jar包,但是pom.xml却提示依赖关系报错!这是怎么处理

问题描述 maven项目本地仓库有jar包,但是pom.xml却提示依赖关系报错!这是怎么处理 解决方案 贴出具体描述来,这样看不出来

c#调用c++写的dll报错,尝试写入受保护的内存。。。求解答

问题描述 c#调用c++写的dll报错,尝试写入受保护的内存...求解答 private void button1_Click(object sender, EventArgs e) { IntPtr key = Marshal.AllocHGlobal(1024); //Marshal.ReleaseComObject(GenerateKeyEx); uint len = 4; string seed = "abcd"; uint slen = (uint)seed.Length;

hadoop-Hadoop搭建环境报错,实在找不到方法

问题描述 Hadoop搭建环境报错,实在找不到方法 找了很久都不知道解决方法,大家帮帮我吧,谢谢~ STARTUP_MSG: java = 1.6.0_45 ************************************************************/ 15/11/28 08:52:23 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT] 15/11/28 08:52

电脑提示缺少xinput1_3.dll文件如何找回

当运行程序或者游戏时,系统弹出错误提示"找不到 xinput1_3.dll"或者"没有找到 xinput1_3.dll"时,说明您系统中缺失这个dll文件或者该dll文件没有被注册,您需要下载该文件将其解压到相应目录并注册它. 原因分析 安装极品飞车,鬼泣4,生化危机等大型游戏,安装后出现丢  丢失xinput1 3.dll 失xinput1_3.dll的问题,这是一个应用问题,其原因是某些游戏在运行时需要调用到xinput1_3.dll,而该文件是存在于Windo