在下面的叙述中,均以将Windows安装到C盘为例,如果用户将Windows安装到了其他分区,请在相应的分区查找文中提到的文件夹及文件。
3 I" \, w( k/ Y( _# G4 R: j1 T6 L/ w- D# ?: q$ B6 e$ s
在使用WindowsUpdate的时候,遇到“CryptographicServiceError”错误,并提示“安装文件不能核实Update.inf,请确定系统已经启动Cryptographic服务。”
, Q! k! C9 {0 H; g m" r0 {$ k
M9 z0 U4 G& F7 H6 K. H1 J$ l 解决方法:
7 s2 R* t. a3 `. T' j* Q. _$ K2 f6 t. H( F: X" [% d
①当安装SP1时候出现上述错误
% _. X+ \; h8 X2 K9 X
" U ~" T5 z2 Y4 u: m7 n! P 依次单击“开始→设置→控制面板→管理工具→服务”,在“服务”窗口的右侧找到“CryptographicServices”选项,双击它打开“属性”窗口,将其“启动类型”设置为“自动”(如图所示)。需要注意的是,“CryptographicServices”依赖“RemoteProcedureCall(RPC)service”,如果你的RPC服务没有被启用该服务,那么你可以启用它。如果在“服务”窗口中无法启用,可以使用WindowsXP安装光盘启动电脑,进入“故障恢复控制台”,输入命令“EnableRPCSSService_Auto_Start”启用RPC服务。
) d4 ~' d6 s7 e
2 _/ f" `3 G0 N; B4 g) V0 U( r
, P! @3 ?# ?! K! { t/ x' B 如果经过上述步骤没能解决问题,那么接下来就单击“开始→运行”,输入“cmd”后回车打开命令提示符窗口,依次运行下面三个命令:
0 p2 B( f2 V& h+ l% R& ]$ G- [: f& E1 c- k6 ~
netstopcryptsvc
5 _4 ^9 C m* D( T0 Z' v
9 l% y" T+ q# [
renc:windowssystem32catroot2oldcatroot2
- D5 T, N) ~1 ]( l5 T2 R
+ n1 `# H, ~7 Y4 D5 o! L netstartcryptsvc
/ ^- G3 ~7 W ]3 _1 U9 y0 L U' f2 s- |, H6 k. g% L7 E3 t, m
如果仍然不行,我们还可以删除“c:windowssystem32catroot2”目录下的所有文件,如果系统提示不能被删除,则应该进入安全模式删除它。
( w9 f, v0 m, u4 l; z- [7 E2 H1 [8 m
至此应该能够顺利升级了。怎么,还不行?那就下载微软专门为该问题发布的Q817287补丁吧!
6 J9 ]! \7 c6 u* A
( m# }3 C3 a v
②进行常规补丁更新的出错
( v4 T) m6 }6 b, S1 F& Z+ I& o6 `2 d. S& i
首先尝试上面的解决办法,如果问题还没有解决,单击“开始→运行”,输入“cmd”后回车打开命令提示符窗口,运行“netstartcryptsvc”命令,接下来使用regsvr32命令依次注册softpub.dll、wintrust.dll、initpki.dll、dssenh.dll、rsaenh.dl、gpkcsp.dll、sccbase.dll、slbcsp.dll、cryptdlg.dll。如注册softpub.dll的格式为:“regsvr32softpub.dll”。
6 L# ]$ m! L3 ]
0 f: E6 L8 F- d5 w' v 我使用WindowsUpdate的时候遇到“ERROR643”或者“ERROR126Thespecifiedmodulecouldnotbefound”(找不到指定模块)
/ h! j* [( y5 e; B/ U
; Y. R% Z7 h/ O3 w; \2 g 解决方法:对“ERROR643”,我们可以打开命令行提示符窗口,运行“del/qc:windowsSystem32Catroot2Edb.log”命令,即删除Edb.log这个记录了更新数据的文件,让系统重新建立,然后重新运行WindowsUpdate。
0 V% T7 Y; f) x' X \
- a( h C6 r* b “ERROR126”比较常见,我们可以打开WindowsSystem32catroot2目录,删除该目录下所有文件。如果还不奏效,可以从安装盘中复制Cryptui.dll、Certcli.dll替换WindowsSystem32下的同名文件。如果依然出现错误,使用“regsvr32/u.dll”命令来卸载“故障2”中提到的那几个DLL文件,重新启动计算机后再再用“regsvr32xxx.dll”命令重新注册它们。
: G5 q( S5 l/ x1 `5 W8 D
; g1 N" `* k& l& M0 }: `! v
使用WindowsUpdate的时候,遇到“0x800A138F”、“0x800C-0008”、“0xC00CE55F”等类似错误。
2 @; M8 J0 e$ y7 v1 D4 s G0 W) t; [, g; X9 Z3 V' W* k
解决方法:首先清空IE临时文件夹,然后查看浏览器的安全设置,为了更容易解决问题,暂时将其设置为最低级别。在IE中单击“选项→Internet选项”,然后在“Internet属性”窗口中切换到“内容”选项卡,单击“清空SSL状态”,选择“自动”完成,在弹出窗口中单击“清除表单”和“清除密码”。接下来切换到“高级”选项卡,确保选中“使用SSL2.0”和“使用SSL3.0”两项,清空“检查服务器证书吊销”选项。
. l1 a' \- V8 Y @' J3 Z# x
3 g9 y' r; @* k9 w+ Z3 T 接下来检查你的系统时间设置是否正确,检查系统是否开启了443端口,删除C:programFilesWindowsupdate目录和C

rogramFilesWindowsupdateV4目录下的所有文件。
2 O* n( p$ _( N3 W$ m- C$ m8 e/ P- Z% W! U! p# k
检查你的IE是否采用了128位数字加密,方法是在IE的“关于”窗口中查看,如果不是则需要重新安装IE。
% k; f) u" H1 Y- ~) a. x
! {4 S2 n: o8 ]5 N W
查看系统的Host文件,Host文件的位置是:C:WINDOWSSYSTEM32DRIVERSetc(WindowsXP)、C:WINNTSYSTEM32DRIVERSetc(Windows2000)、C:WindowsHosts(Windows98),查看里面是否有“Akamai”、“Microsoft”字样的行,如果有将该行删除。
/ {1 c0 O, X8 f( U) O( ~2 M# O0 {' N5 J+ Q: }: L: Y( i n8 @5 i
打开WindowsUpdate后,在按下“立即安装”按钮,接受“用户协议”后,下载停滞。
' J, Y; F/ @( V+ ]' V- x
3 d5 P' A! m* M- T* M1 k
解决方法:打开C:Windowssystem32inf目录(注意该目录是隐藏目录),找到IE.inf,右键单击该文件,选择“安装”。如果故障未能解决,到http://download.microsoft.com/download/msninvestor/patch/1.0/win98/en-us/mcrepair.exe下载该补丁。接下来复制C:WindowsSystem目录中的Asycfilt.dll、Oleaut32.dll、Olepro32.dll、Stdole2.tlb三个文件到C盘根目录中,运行下载的Mcrepair.exe文件,运行完毕重新启动电脑,将以上文件复制到C:WindowsSystem下覆盖同名文件。
# K' } ~* U- G/ Z0 K: ~( k: Y9 `2 O+ h2 f; e
使用WindowsUpdate的时候,突然断电,再次更新时提示已经下载补丁,无法更新。
! I1 w6 k$ f8 F- d" A- G( d
3 I3 g' j' M8 G2 F1 z 解决方法:Windows在更新时将临时文件放在C:WUTemp目录中,找到该目录后手动安装里面的补丁文件,安装完毕后再次利用WindowsUpdate进行更新。如果故障无法解决,尝试将WUTemp目录删除,并删除C

rogramFilesWindowsUpdatewuhistv3.log文件(该文件记录了WindowsUpdate安装历史记录),再次使用WindowsUpdate更新即可。
% q8 S' P3 \" |+ t- n" K0 B9 C
- o2 m- W8 v% Q: s1 d