着眼系统服务!排除打印机无法安装的故障
05-25
在与打印机长期接触的过程中,我们不可避免地会遭遇到各种打印故障,而导致打印机发生各种故障的因素有很多,有计算机系统方面的,也有打印机自身方面的,也有的是由打印用户操作不当引起的。要想顺利地排除打印故障,我们必须对故障细节进行逐一分析排查,找准故障引起的原因,只有这样才能迅速提出故障应对办法。这不,笔者的一台打印机连接在安装有WinXP sp2操作系统的计算机中,以前打印机一直能正常打印材料,最近因为系统发生文件被误删的现象,为此笔者将计算机系统重新进行了覆盖安装,可是在尝试使用原装驱动光盘来重新安装打印机时,系统竟然弹出错误提示,说无法继续安装打印机设备。
遭遇该故障时,笔者头脑中下意识地想到很有可能是在覆盖安装系统时进行得不够彻底,残留在本地硬盘中的部分打印驱动导致打印机无法正常安装下去,不过使用手工方法搜索以前的打印驱动文件时,并没有从中找到残留的驱动程序,没办法笔者只好通过拨号上网重新下载了对应型号的打印机驱动程序,并尝试采用“从磁盘安装”方法来安装打印机,可是当安装向导界面弹出是否接受程序许可协议时,又发生了无法继续安装打印机的现象。
在没有办法查明故障原因的情形下,笔者打算让计算机系统自动搜索检测硬件是否存在不正常工作的情况;笔者首先用鼠标右击系统桌面中的“我的电脑”图标,从弹出的右键菜单中执行“属性”命令,打开本地系统的属性设置窗口,单击该窗口中的“硬件”标签,然后在对应的标签页面中单击“设备管理器”按钮,进入到本地系统的设备列表窗口;在该列表窗口中,用鼠标右键单击“通用串行总线控制器”项目,从其后出现的快捷菜单中执行“扫描检测硬件改动”命令(如图1所示),打开一个标题为“即插即用硬件”的向导窗口,之后用手工定位的方法进行安装后,发现系统提示无法安装打印机的原因为RPC服务器不能正常工作。找到了无法安装打印机的原因为RPC服务器工作不正常,那RPC服务器是什么东东呢?事实上,RPC是Remote Procedure Call的英文字符缩写,它是一种远程过程调用协议,应用程序一般会借助该协议向网络中的其他工作站中的应用程序请求服务;因为需要借助RPC通信协议的应用程序根本不用了解支持数据通信的具体协议情况,所以RPC可以有效地提高不同工作站应用程序相互之间的可操作性。在进行远程过程调用服务时,对外提供某种服务的应用程序通常称为服务器,而向其他计算机提交服务申请的应用程序称为客户程序,远程过程调用的主要目的其实是为系统组件提供相互通信的一种方式,使参与通信的系统组件之间可以相互发送服务请求同时传递这些服务请求的申请结果;简单地说,打印机在安装过程中之所以会出现RPC服务器不能正常工作的故障现象,很有可能是本地计算机系统将RPC系统服务暂时禁用了,要解决这一安装故障我们唯一的办法就是想办法将RPC系统服务重新启用起来。www.(脚本之家)
下面就是启用RPC系统服务的具体操作步骤:
首先用鼠标右键单击Windows系统桌面中的“我的电脑”图标,从其后出现的快捷菜单中选择“管理”命令选项,打开本地计算机管理窗口;
其次在计算机管理窗口的左侧列表区域,依次展开“计算机管理(本地)/服务和应用程序/服务”分支项目,在对应“服务”项目的右侧列表区域中,找到“Remote Procedure Call”系统服务,然后用鼠标右键单击该服务项目,从其后出现的快捷菜单中单击“属性”命令,打开该系统服务的属性设置窗口;
单击该设置窗口中的“常规”标签,打开如图2所示的标签页面,在该标签页面中我们发现“Remote Procedure Call”服务默认状态为已启动,该服务的启动类型为“自动”,使用的服务登陆方式为“本地系统”。一般来说,为了确保RPC系统服务能随Windows系统的启动而自动开启,我们应该尝试将该服务的启动类型修改为“自动”。要是在图2所示的标签页面中,我们发现“Remote Procedure Call”服务默认状态显示为禁用的话,我们就有必要将该服务重新启动起来;启用该服务时,只需要单击“常规”标签页面中的“启动”按钮,RPC服务就能被自动开启了,同时为了保证该服务下次能自动启用,我们一定不要忘了将该服务的启动类型设置为“自动”。需要提醒各位的是,计算机系统除了提供“Remote Procedure Call(RPC)”系统服务外,还为我们提供了一个名为“Remote Procedure Call(RPC)Locator”的系统服务,该系统服务其实是远程过程调用定位服务,该系统服务由于没有缺省值,因此需要我们手动进行配置,具体配置的步骤几乎与“Remote Procedure Call”服务一致。
另外还有一个名为“Print Spooler”的系统服务,也有可能会对打印机驱动程序的安装造成影响,因为“Print Spooler”系统服务是专门用来管理控制打印进程的一种系统服务,系统借助该系统服务能将待打印的目标内容自动加载到系统内存中,以便实现稍后打印,所以这种系统服务的启用状态将直接影响打印机是否能正确被安装或正常地运行。正常情况下,我们应该将“Print Spooler”系统服务设置为自动启动类型,并将该系统服务一直开启运行着,那样的话就能省去每次操作打印机时都要通过手动启用该服务的时间,从而有效地提高我们日常的打印办公效率。我们相信将上面的几个系统服务全部启动起来后,再将计算机系统重新启动一下,那样的话打印机的驱动程序安装操作就能变得一帆风顺了!
通过上面的叙述,我们不难发现打印机在使用过程中经常会发生莫名其妙的故障,而RPC服务器不能正常工作就是其中一项常见故障现象,那么打印机为什么会发生这类故障现象呢?解决这类故障现象的方法并不是十分复杂,我们往往只要简单地修改几个属性参数就能有效避免这类故障现象的继续发生了,那在手工修改属性参数的过程中我们究竟应该注意哪些细节呢?
我们知道,Print Spooler系统服务是专门用来管理和控制打印进程的,该服务能否正常运行依赖于RPC系统服务的运行状态。这一点我们可以通过检查Print Spooler系统服务的依存关系就能清楚地看出来。所以,一旦在使用打印机的过程中发生了不能正常打印或不能正确安装的现象时,多半是Print Spooler系统服务设置被其他应用程序意外修改或调整了,又由于这个系统服务与RPC服务存在一定的依存关系,因此打印机在安装过程中就有可能出现RPC服务器不能正常调用的故障现象了。
小提示:
每次安装打印机驱动程序时,安装向导可能会为系统服务Print Spooler人为地添加一个或几个依存服务,一旦日后该打印机驱动程序从系统中卸载之后,那么与后台打印服务Print Spooler有依存关系的服务也可能随之停止运行了,这样的话就有可能导致Print Spooler服务也会被迫停止运行,这最终的后果就是导致一台打印机被删除之后,另外一台打印机也不能立即工作了。当我们不幸遇到这种现象时,可以先尝试用手工方法启动Print Spooler服务,要是无法启动成功的话,可以依次单击“开始”/“运行”命令,在随后弹出的系统运行对话框中,输入注册表编辑命令“regedit”,单击“确定”按钮后,进入系统的注册表编辑界面;找到该界面中的“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Spooler”分支,在“Spooler”分支下面找到DependOnService键值,然后用鼠标双击这个键值,在随后出现的数值设置窗口中,将除“RPCSS”之外的所有其他依存服务全部删除,而单独保留下“RPCSS”服务,最后再将计算机系统重新启动一下,这样的话我们就能重新正常启动Print Spooler服务了,一旦该服务被启动成功后,相信另外一台打印机又能继续工作了。