经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll、msvcr71.dll又或者是 .Net Framework 初始化之类的错误而无法正常使用,其实很多时候,只是因为你的电脑没有安装好这些软件所需要的运行库 (又称“运行时” / Runtime) 而已。
在 Window s环境下,很多软件特别是游戏都需要依赖一些运行库才能正常使用,而这些库并没有集成在 Windows 里的,需要我们自行下载安装 (所需的运行库一般在软件或游戏的说明里会有提及)。我们最常见的有 DirectX、VC++ 运行库 和 .Net Framework 框架等……
程序启动出错?缺少 DLL 文件?到底是什么问题?
没有安装好必要的运行库而导致不能运行软件游戏的用户实在太多太多了,我几乎隔两三天就收到一封这样的求助信。其实,我认为很多这类问题并不是用户太笨,而是微软的错!!为什么?比如说我安装好一个游戏,没有安装好 DirectX (这货几乎是所有3D游戏必备),运行游戏时 Windows 提示我缺少 d3dx9_42.dll ,对于普通用户,马上就傻眼了,我TM谁认识你神马 dll 文件啊,然后就只能上网搜索一下或求助有经验的朋友了。
然而,如果微软能做得细致一点,将错误提示改成 “你丫没有安装 DirectX,运行此软件前必须先安装这货,点击这里下载” 之类的话儿,不笨的用户都会去下载并安装了。从这点可以看出,微软很多时候都是没有站在用户的角度去开发产品。虽然技术上很优秀,但正是一些细节的忽略,导致它的产品不够易用,对普通用户来说显得太过复杂太过“专业”。而隔壁苹果的产品理念则追求简单,将“专业”的东西隐藏起来不需用户去花精力了解学习,这也从一方面看出为什么最近几年苹果崛起得特别快。当然,这是一个大话题,这里不做更深一层的讨论。
DirectX (玩游戏必备):
DirectX 是微软提供开发人员一个包括3D、声音、网络等多媒体的一个共同的应用程序编程接口,它让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。
还不懂?举个例子(声明这我自己瞎理解的,不准确的话请大家提出改正),世界上千万种显卡,开发者想要在游戏里显示一个立方体,在没有DirectX的时代,因为各种显卡的标准不同,他需要针对千万种不同的显卡各自的特性,写出千万种代码,才能在大家不同配置的电脑上显示出一个正常的立方体。然而,有了DirectX的标准之后,开发者只需要按照DirectX的标准写好一次代码,它就能在所有不同显卡上正确显示了,剩下的匹配各种显卡的工作就交给DirectX和显卡驱动去自个搞定,不需要开发者操心。所以其实 DirectX 是一个好东西。
如果你新装的系统或者以前从没装过DirectX的话,想要游戏的话,不管什么情况,先装个DirectX总是没错的!特别是提示缺少 d3dx9_xx.dll 之类的问题的朋友,那就是100%缺少DirectX而出现的错误了。另外,玩游戏的话,安装新的稳定的显卡驱动也是非常重要的哦!
C++运行库 / Microsoft Visual C++ Redistributable Package:
这货名字很长,人们一般就是随便称为“VC++运行库”,安装它能让用户的电脑正常运行使用 Visual C++ 开发的应用程序,特别是游戏一类的大家伙,不装他的话经常会出错,例如常见的缺少 msvcp71.dll、msvcr71.dll 神马一类msvc开头的文件。它就是一个运行库,而不是平时说的VC++开发环境,请别混淆……
Microsoft Visual C++ 2010 Redistributable Package 安装 Visual C++ 库的运行时组件,使用户能够在未安装 Visual C++ 2010 的计算机上运行使用 Visual C++ 开发的应用程序。此软件包安装 C 运行时 (CRT)、标准 C++、ATL、MFC、OpenMP 和 MSDIA 库的运行时组件。
下载VC++运行库2010 SP1 (32位 x86) | x64 | ia64 下载VC++运行库2012 (64位) | 下载32位下载VC++运行库2013 (64位) | 下载32位下载VC++运行库2015 (64位) | 下载32位
.Net Framework ( .Net框架 ):
其实 .Net Framework 也是主要是方便开发者的,它包含很多很多特性和各种各样的技术,估计介绍起来能写一本书。反正与上面一样,比如VC的程序需要VC运行库,VB的程序需要VB运行库,java程序需要 Java Runtime 一样。 使用 .Net 开发的程序需要在 .NET Framework 下才能运行。
.NET Framework 是由微软开发的一种全面且一致的编程模型,用于生成具有视觉震撼力的用户体验、无缝的安全通信和对一系列业务流程进行建模的能力的应用程序。这些新技术有 Windows Presentation Foundation、Windows Communication Foundation、Windows Workflow Foundation 和 Windows Card等等……
注意: .Net Framework 4 与旧版的某些元件有所不同,所以有时只安装4的话运行需要旧版.Net的程序也会出现兼容问题,推荐同时安装.Net Framework4和3.5,它们能和平共存的。另外,Windows7 已经默认包含 Microsoft .NET Framework 3.5 SP1
下载 .Net FrameWork 4.5 正式版 | .Net 4.0 | .Net 3.5 | .Net 2.0 (32位)、64位
Windows Installer (Windows 安装服务):
很多精简版或者Ghost版的 Windows 系统经常会将这个组件精简掉,导致大家经常在安装软件时遇到“不能访问 或 无法启动 Windows Installer 服务”等的错误。这时,重新安装一下 Windows Installer 即可。
下载 Windows Installer 中文版 (XP) | Vista&2008:32位、64位 | Win2003:32位、64位
Java Runtime Environment (JRE) Java运行环境:
Java最重要的特性之一就是给程序提供跨平台的能力,使得代码一次编写即可在不同的操作系统上运行。当然,前提是在这里不同的操作系统上都需要事先安装好Java的运行环境,即JRE。简单地说,JRE是用来解释程序员写出来的Java代码并翻译成当前使用的操作系统能识别的语言再运行,这样就能在不修改Java代码的前提下,在不同的操作系统上均能顺利执行了。JRE有多种操作系统的版本,请根据自己的实际使用的系统来选择下载。
下载 JRE 简体中文版 (For Win32位版) | JRE 64位 Win版 | 其他系统版本
Adobe AIR:
Adobe AIR 是类似 Java 的一种跨平台技术,并且它可以让程序员轻松地制作出界面特效炫丽的程序。譬如我们介绍过的 Weico AIR 新浪微博客户端就是使用 AIR 来制作的,效果很不错的哦!而且,得益于AIR的跨平台能力,Weico AIR不需要做什么额外的工作,即可在所有安装有Adobe AIR平台的Windows、Linux、Mac上正常使用了。
PS:Adobe AIR 技术目前基本已被淘汰,一般并不需要安装