Windows 2003 更新0x8007f0da解决办法

      搜索了一下,发现很多人在升级2003的时候遇到了0x8007f0da的错误,我在升级的过程中也遇到了这个错误,先是找到微软的官方网站的解决办法,具体的可以看这里《无法安装某些更新程序》,微软给出了11种的解决办法。我没有11种都改,改了前面的一两种,试着升级,还是遇到0x8007f0da号的错误,后来用google.com搜索了老外的一些资料,终于在这里发现了这样的一句话:I have spent the quite some time looking at this problem and finally managed to resolve it on one of the SBS2003 servers I support.然后给出了升级的办法,英文的原文如下:
Method 9: Clear the temporary file and restart the hotfix installation or the service pack installation
Note Skip this method if the operating system is Windows 2000.
To clear the temporary file and restart the hotfix installation or the service pack installation, follow these steps: 1. Delete all the tmp*.cat files in the following folders:
%systemroot%\system32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
%systemroot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
2. Delete all the kb*.cat files in the following folders:
%systemroot%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
%systemroot%\System32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
3. Delete all the oem*.* files from the %systemroot%\inf folder.
4. At the command prompt, type the following commands. Press ENTER after each command.
net stop cryptsvc
ren %systemroot%\System32\Catroot2
oldcatroot2
net start cryptsvc
exit
5. Restart the failed hotfix installation or service pack installation.
      其实就是刚才我找到的微软官方解决办法的第九条:
方法 9:清除临时文件并重新启动修补程序安装或 Service Pack 安装
注意:如果操作系统为 Windows 2000,则跳过此方法。(应该不适合2000的系统,不过现在用2000做服务器的系统应该不多了。)
要清除临时文件并重新启动修补程序安装或 Service Pack 安装,请按照下列步骤操作:
1.    删除以下文件夹中的所有 tmp*.cat 文件:
%systemroot%\system32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
%systemroot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
2.    删除以下文件夹中的所有 kb*.cat 文件:
%systemroot%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
%systemroot%\System32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
3.    删除 %systemroot%\inf 文件夹中的所有 oem*.* 文件。
4.    在命令提示符处,键入下列命令。在键入每个命令后按 Enter。
net stop cryptsvc
ren %systemroot%\System32\Catroot2 oldcatroot2
net start cryptsvc
exit
上面这行黑体字在微软那里有错,正确的命令是上面的这种写法。
5.    重新启动失败的修补程序安装或 Service Pack 安装。
      我试用了一下,发现可以用。