Microsoft更新不起作用

简介

我在很多情况下遇到了一个问题,我控制下的PC无法成功加载新更新。 无论他们是试图通过内置于操作系统中的“自动更新”功能还是直接访问MS Update站点,都可以。

原因

该问题通常与由于某些原因无法正确设置DLL文件有关。 建议的大多数修补程序都涉及在PC上手动注册DLL文件列表。 我更详细了解此问题的一个原因是,每当您需要使用修复工具(从原始XP Install CD引导并选择此选项)时,可能会产生副作用(至少从XP SP2开始) )。

解决方案

我将包括几个CMD文件,它们可以为您解决此问题。 XP版本似乎也可以在Windows 2000上正常运行,但是2003版尚未经过测试(我在任何2003服务器上都没有遇到过此问题)。

尽管它们主要反映了在两个链接中找到的信息(

http://support.microsoft.com/kb/943144对于Windows XP和http://support.microsoft.com/kb/555989对于Windows Server 2003),其他文件可能已被添加随着时间的推移,以覆盖更多的情况。

我在顶部附近使用“ @ECHO ON”显示执行过程中发生的情况,如果希望它以静默方式或秘密方式运行,则可以将其更改为“ @ECHO OFF”。

MSUpdateFixXP.Cmd
@Rem http://support.microsoft.com/kb/943144 
@ECHO ON
IF .%1 == ./? GOTO HELP
IF .%1 == .HELP GOTO HELP
IF .%1 == .help GOTO HELP
GOTO MAIN 
:HELP
ECHO Usage (for XP PCs): MSUpdateFixXP
ECHO This CMD script should re-enable a PC 
ECHO to use Windows Update if it's failing.
ECHO This typically occurs after a REPAIR is done
ECHO from the original XP install CD.
GOTO ENDSCRIPT 
:MAIN
REGSVR32 /S %WinDir%\System32\Wuapi.Dll
REGSVR32 /S %WinDir%\System32\wups.Dll
REGSVR32 /S %WinDir%\System32\Wuaueng.Dll
REGSVR32 /S %WinDir%\System32\Wucltui.Dll
REGSVR32 /S %WinDir%\System32\Msxml3.Dll 
NET STOP WUAUSERV >NUL
IF NOT ERRORLEVEL 1 GOTO CONTINUE1
ECHO WUAUSERV (Windows Update & Automatic Service) failed to stop.
GOTO ENDSCRIPT 
:CONTINUE1
REGSVR32 /S %WinDir%\System32\Wups2.Dll 
:ENDSCRIPT
NET START WUAUSERV >NUL
ECHO ON
MSUpdateFix2003.Cmd
Rem http://support.microsoft.com/kb/555989
Rem NB Both services MUST be stopped before the rename will work. 
@ECHO OFF
IF .%1 == ./? GOTO HELP
IF .%1 == .HELP GOTO HELP
IF .%1 == .help GOTO HELP
GOTO MAIN 
:HELP
ECHO Usage: MSUpdateFix [DRASTIC]
ECHO This CMD script should re-enable a PC to use Windows Update if it's failing.
ECHO Generally use the DRASTIC option only if the normal (no parameter) option fails.
GOTO ENDSCRIPT 
:MAIN
REGSVR32 /S %WinDir%\System32\Vbscript.Dll
REGSVR32 /S %WinDir%\System32\Mshtml.Dll
REGSVR32 /S %WinDir%\System32\Msjava.Dll
REGSVR32 /S %WinDir%\System32\Jscript.Dll
REGSVR32 /S %WinDir%\System32\Msxml.Dll
REGSVR32 /S %WinDir%\System32\Actxprxy.Dll
REGSVR32 /S %WinDir%\System32\Shdocvw.Dll 
IF .%1 == .DRASTIC GOTO DRASTIC
IF .%1 == .drastic GOTO DRASTIC
GOTO ENDSCRIPT 
:DRASTIC
NET STOP WUAUSERV
IF NOT ERRORLEVEL 1 GOTO CONTINUE1
ECHO WUAUSERV (Windows Update & Automatic Service) failed to stop.
GOTO ENDSCRIPT 
:CONTINUE1
NET STOP CryptSvc
IF NOT ERRORLEVEL 1 GOTO CONTINUE2
ECHO CryptSvc (Cryptographic Service) failed to stop.
GOTO ENDSCRIPT 
:CONTINUE2
DEL /F /S /Q %WinDir%\System32\Catroot2 >NUL
IF NOT ERRORLEVEL 1 GOTO CONTINUE3
ECHO Unable to delete %WinDir%\System32\Catroot2.
GOTO ENDSCRIPT 
:CONTINUE3
DEL /F /S /Q %WinDir%\SoftDistBup >NUL
REN %WinDir%\SoftwareDistribution SoftDistBup >NUL
IF NOT ERRORLEVEL 1 GOTO CONTINUE4
ECHO Unable to rename %WinDir%\SoftwareDistribution to %WinDir%\SoftDistBup.
GOTO ENDSCRIPT 
:CONTINUE4
NET START CryptSvc
IF NOT ERRORLEVEL 1 GOTO CONTINUE5
ECHO CryptSvc (Cryptographic Service) failed to restart.
GOTO ENDSCRIPT 
:CONTINUE5
NET START WUAUSERV
IF NOT ERRORLEVEL 1 GOTO CONTINUE6
ECHO WUAUSERV (Windows Update & Automatic Service) failed to restart.
GOTO ENDSCRIPT 
:CONTINUE6
REGSVR32 /S Softpub.Dll 
REGSVR32 /S Mssip32.Dll 
REGSVR32 /S Initpki.Dll
REGSVR32 /S Softpub.Dll
REGSVR32 /S Wintrust.Dll
REGSVR32 /S Initpki.Dll
REGSVR32 /S Dssenh.Dll
REGSVR32 /S Rsaenh.Dll
REGSVR32 /S Gpkcsp.Dll
REGSVR32 /S Sccbase.Dll
REGSVR32 /S Slbcsp.Dll
REGSVR32 /S Cryptdlg.Dll
REGSVR32 /S Urlmon.Dll
REGSVR32 /S Shdocvw.Dll 
REGSVR32 /S Msjava.Dll 
REGSVR32 /S Actxprxy.Dll 
REGSVR32 /S Oleaut32.Dll 
REGSVR32 /S Mshtml.Dll 
REGSVR32 /S Msxml.Dll
REGSVR32 /S Msxml2.Dll
REGSVR32 /S Msxml3.Dll
REGSVR32 /S Browseui.Dll
REGSVR32 /S Shell32.Dll
REGSVR32 /S Wuapi.Dll
REGSVR32 /S Wuaueng.Dll
REGSVR32 /S Wuaueng1.Dll
REGSVR32 /S Wucltui.Dll
REGSVR32 /S Wups.Dll
REGSVR32 /S Wuweb.Dll
REGSVR32 /S Jscript.Dll
REGSVR32 /S Atl.Dll 
REGSVR32 /S Mssip32.Dll 
:ENDSCRIPT
NET START CryptSvc >NUL
NET START WUAUSERV >NUL
ECHO ON
PS

我不能保证这可以解决所有情况,但是我很想知道这是否由于任何原因而无法执行。

From: https://bytes.com/topic/windows/insights/796617-microsoft-update-not-working

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值