解决优化后XP不能自动更新的问题

网络整理 - 07-26

   曾经听到有人推荐让WindowsXP快10倍的软件,这是一个德国人做的优化程序,以停止部分服务达到优化的目的,但是在按照要求进行优化以后,很多比较有用的服务也不能使用了,包括防火墙、安全中心、自动更新.别的好说,如果机器不能自动更新,实在是一件让人烦心的事.今天下午本人就碰到了这个问题. 

  在访问Windows Update或者Microsoft Update网站时,网页提示错误代码0×80070422 (显示在屏幕右上角),大意是提示Windows Update服务被禁用,需要到组策略启动相应的服务.不过鉴于在此之前曾经做过优化,在进行操作之前必须先用那个优化程序的还原功能,也就是在操作时选第4项.可是在操作时又出现了问题.   

  启动自动更新服务时出现提示对话框,说与此服务相关的组件未能启动,因此启动失败.这显然也是那个优化方案的结果.为此又去百度进行了查找,发现了需要先重新注册的dll文件. 

  注册 qmgr.dll和qmgrproxy.dll 

  regsvr32 qmgr.dll 

  regsvr32 qmgrproxy.dll   

  在注册 qmgrproxy.dll 时单击“确定”后系统提示说找不到模块,经过测试不影响恢复. 

  做完后我们回到组策略窗口,启动所有能启动的服务.不行的话再从头到尾来一遍. 

  一切工作完成,问题解决. 

  遇到同类问题的朋友可以参考这个解决方法.   

  下面把运行windows update时遇到错误情况的解决方案归纳如下,遇到问题时可以依次尝试:   

  1、确保用的是IE,不是firefox或者opera(为了cb广大的opera fans特别提醒,不要习惯成自然^_^), 不推荐用IE tab. 

  2、禁止当前浏览器拦截弹出窗口,换句话说就是允许弹出窗口(同样很简单,但是容易被忽略). 

  3、查看hosts文件有没有被修改,恢复其原状.hosts文件一般位于 

   $WINDIR$\system32\drivers\etc. 

  4、清空IE缓存,临时文件、历史记录. 

  5、确保自己当前是系统管理员,或者在“控制面板”-“用户帐户”删除所有不用的帐户,然后重新启动.这一条是最重要的,即使不用管理员帐号也能更新,但是也许会出现不可预知的错误 

  6、适当的调整ie对activex、javascript的限制,可以在internet选项的“安全”选项卡里调整.如果怕影响安全性,可以仅对进行调整. 

  7、注册URLMON.dll,MSXML3.dll,jscript.dll,qmgr.dll和qmgrproxy.dll: 

   regsvr32 dll名称.dll 

  8、将WUAUSERV和BITS添加到SvcHost进程中:打开REGEDIT,浏览到 

  HKEY_Local_Machine\Software\Microsoft\WindowsNT\CurrentVersion\SvcHost 

  打开“netsvcs”项.在“数值数据”下,将“BITS”和“WUAUSERV”添加到服务列表中.修改以后重新启动.【适用于错误代码0×8007043B】 

  9、如果 DataStore 文件夹中的内容不匹配,【适用于错误代码0×80070002】可以考虑删除 

  %windir%\SoftwareDistribution\DataStore 

  文件夹的所有内容,删除不了就先把自动更新服务停用. 

  10、不要使用代理.检查是不是Windowsupdate在受限站点的名单里面;如果是,将其删掉. 

  11、设置合理的系统日期和时间. 

  12、确保相关服务启动.服务名称:Automatic update(或者“自动更新”),BITS(或者“后台智能传送服务”)等.方法:运行services.msc,然后启动相应的服务,如果不知道应该启动哪个,就把能启动的都启动,日后再逐一排除.