当你得到一个错误,说Windows找不到一个特定的DLL文件,它可以是非常诱人的下载文件从众多的DLL网站之一。这就是为什么你不应该。
相关:什么是rundll32.exe?它为什么运行?
在我们开始讨论为什么不应该从Internet下载动态链接库(DLL)文件之前,让我们先看看什么是DLL文件。DLL文件是一个库,其中包含一组代码和数据,用于在Windows中执行特定活动。应用程序可以在需要执行这些活动时调用这些DLL文件。DLL文件与可执行文件(EXE)非常相似,只是DLL文件不能在Windows中直接执行。换句话说,你不能双击一个DLL文件来运行它,就像你双击一个EXE文件一样。相反,DLL文件被设计成由其他应用程序调用。事实上,它们被设计成同时被多个应用程序调用。DLL名称的“link”部分还表明了另一个重要方面。可以将多个DLL链接在一起,以便在调用一个DLL时,也可以同时调用多个其他DLL。
Windows本身大量使用DLL,通过C:\Windows\System32文件夹可以了解到这一点。作为我们讨论的一个示例,让我们考虑一下Windows系统文件“comdlg32.dll”。这个文件,也称为公共对话框库,包含用于构建许多在Windows对话框中看到的公共对话框的代码和数据,例如打开文件、打印文档等。这个DLL中的指令处理从接收和解释对话框的消息到指定对话框在屏幕上的外观的所有事情。显然,多个应用程序可以同时调用此DLL,否则您将无法一次在多个应用程序中打开对话框(如下面的对话框)。
dll允许代码模块化和重用,这意味着开发人员不必花时间从头开始编写代码来执行普通的或通用的功能。虽然开发人员会创建自己的DLL来安装他们的应用程序,但绝大多数应用程序调用的DLL实际上是与Windows捆绑在一起的,或者是额外的包,比如微软.NETFramework或微软C++重新分发表。这种模块化代码的另一大优点是,更新更容易应用于每个DLL,而不是整个应用程序,特别是当那些DLL不是来自应用程序的开发人员时。例如,当Microsoft在其.NET Framework中更新某些DLL时,所有使用这些DLL的应用程序都可以立即利用更新的安全性或功能。
相关:什么是Microsoft.NET Framework,为什么要安装在我的电脑上?
所以,只要稍微了解一下我们的腰带下的DLL,为什么不在系统中缺少DLL时从Internet下载它们呢?
下载的DLL最常见的问题是它们过时了。很多DLLs网站都是通过从自己或用户的电脑上传来获取dll的。你可能已经看到问题了。大多数这些网站只需要你的流量,一旦上传了一个动态链接库,他们就没有动力确保文件保持最新。此外,供应商通常不会将更新的dll作为单独的文件向公众发布,而且您可以看到,即使是试图保持文件最新的站点也不太可能成功。
还有一个更进一步的问题,DLL通常被集成到包中。对一个包中的一个DLL的更新通常伴随着对同一个包中其他相关DLL的更新,这意味着即使在不太可能的情况下,您确实获得了一个最新的DLL文件,您也不会获得也已更新的相关文件。
虽然不太常见,但一个潜在的更糟糕的问题是,从供应商以外的其他来源下载的DLL有时可能会加载病毒或其他恶意软件,从而感染您的电脑。这一点在那些不太小心从何处获取文件的网站上尤其如此。而且这些网站也不会特意告诉你他们的风险来源。真正可怕的是,如果你下载了一个受感染的DLL文件,你的风险就在于DLL文件的本质,它提供了比普通受感染文件更深入的访问权限。
相关:什么是Windows10最好的防病毒软件?(Windows Defender足够好吗?)
好消息是,一个好的实时防病毒应用程序通常可以在这些被感染的DLL文件实际保存到您的系统之前检测到它们,并防止它们造成任何损害。不过,您必须记住,即使是一个伟大的防病毒程序可能无法为您提供完美的保护。如果你养成了下载危险文件的习惯,它很可能会在某个时候赶上你。最好不要使用这些DLL站点。
虽然你电脑上可能只有一个DLL文件被损坏或删除,但更有可能的是其他DLL或相关应用程序文件也被损坏或丢失。你得到一个特定文件错误的原因是,这是一个应用程序崩溃前遇到的第一个错误,你只是没有被通知其余的。无论问题的原因是什么,这都是正确的。
相关:坏扇区解释:为什么硬盘驱动器得到坏扇区和你能做什么
为什么DLL会丢失或损坏?可能是另一个错误的应用程序或更新尝试替换文件失败,或者用过期的副本替换。这可能是安装主应用程序或.NET之类的软件包时出错。它甚至可能是你有另一个问题,如坏扇区在你的硬盘上,阻止文件正确加载。
确保获得一个稳定、最新和干净的DLL的唯一方法是通过它的源代码获取它。通常,该来源为:
相关:如何在Windows中扫描(和修复)损坏的系统文件
如果所有这些都失败了,您可以联系应用程序供应商并请求单个DLL文件的副本。有些公司对这一要求持开放态度,有些则不然。如果你遇到一家不提供个人文件的公司,他们至少可以为你提供解决问题的其他建议。
...装或更新应用程序引起的,这通常会导致丢失关键数据或文件。 ...
...不可能全部分析。需要注意的是,一个单独的蓝屏并不是什么大事。有时Windows会遇到一个奇怪的问题,出现蓝屏,然后几个月内再也不会出现同样的问题。你应该只关心蓝屏错误,如果他们是重复发生。 ...
...icrosoftword实例时,它会被放在RAM中以便快速访问。这就是为什么拥有更多的RAM可以让您同时运行多个程序的原因(请查看我们的RAM指南以了解更多的后台信息)。 ...
...indowsSystem32文件夹。但是这个神秘的Windows文件夹是什么,为什么有人要你删除它呢? ...
...其他类型的非dll代码注入到进程中。 代码注入的用途是什么 代码注入用于在Windows上完成各种技巧和功能。正当程序使用它的同时,恶意软件也在使用它。例如: 反病毒程序通常会将代码注入web浏览器。例如,他们可以用它...
...于执行各种功能的第三方程序。 相关:什么是DLL文件,为什么我的电脑上少了一个? System32文件夹中的EXE文件表示各种Windows系统实用程序。例如,启动任务管理器时,Windows会打开Taskmgr.exe位于System32文件夹中的程序文件。 这里...
...因呢? 什么是系统32(system32)? 相关:什么是DLL文件,为什么我的电脑上少了一个? System32目录包含Windows系统文件,包括程序使用的.DLL库文件和作为Windows一部分的.EXE程序实用程序。虽然您在这里找到的大多数文件都是Windows操...
...本的Windows上都可以看到它们。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,A...
...任务的多个实例同时运行。如果你曾经想知道它是什么,为什么有时会有这么多,我们已经为你找到了答案。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管...