紧急询问!——请问为什么我的Windows XP Professional Service Pack 1有两项补丁更新总是更新失败呢?

saucerman 2003-03-31 01:28:57
-------------------------------------------------------------

请问为什么我的Windows XP Professional Service Pack 1有两项Patch更新总是更新失败呢?这两个补丁分别是:

1. 关键更新 Q331953

2. Windows XP更新 Microsoft .NET Framework,简体中文版

-------------------------------------------------------------

我是在下面的微软(中国)WinXP 网站来更新的:
http://v4.windowsupdate.microsoft.com/zhcn/default.asp

要说明的是我前几天曾成功地通过更新打上过Q331953,但是昨天我电脑系统出了问题,于是我就用WinXP的“系统还原”功能来把系统还原到了前面的一个还原点,显然那时还没打Q331953这个补丁。我查过并确认过了,当我用系统还原功能还原回去后,下面原来在注册表里有的两个项都没有了:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\Q331953

另外我在WinXP的系统目录下也没发现有Q331953补丁的反安装目录,就是:
C:\WINDOWS\$NtUninstallQ331953$

而原来还没还原前,上面说的两个注册表项以及Q331953的反安装目录可都是存在的。

还有我的机器装了Microsoft Visual Studio .NET,所以我确实不用再装“Microsoft .NET Framework,简体中文版”了。注册表下面也有这一项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\.NETFramework
但Windows Update站点上还每次总提示我要安装它啊!

-------------------------------------------------------------

当我在Windows Update站点打Q331953补丁时提示如下:

关键更新

331953:安全更新程序 (Windows XP)
下载大小: 823 KB, < 1 分钟
此更新已下载到您地计算机上,但是没有成功安装。 要安装此更新,先将它添加到您的完全选择的更新中,

单击复查并安装更新,然后单击立即安装。
已确认,存在的安全问题可能会使攻击者有机会导致运行 Microsoft(R) Windows(R) 的计算机失败。攻击者

将借此连接到计算机上的进程中。通过安装 Microsoft 提供的本更新程序,可以帮助您保护计算机。安装本

更新程序之后,可能必须重新启动计算机。 更多信息...

http://www.microsoft.com/technet/security/bulletin/MS03-010.asp(可能是英文站点。)

而我开始更新打Q331953补丁时,却提示如下:

没有安装更新

下列项目安装失败。要尝试再次安装它们,单击 复查并安装更新,然后再次单击立即安装。

331953:安全更新程序 (Windows XP)

-------------------------------------------------------------

当我在Windows Update站点打.NET Framework补丁时提示如下:

Windows XP推荐更新

Microsoft .NET Framework,简体中文版
下载大小: 21.6 MB, 14 分钟
此更新已下载到您地计算机上,但是没有成功安装。 要安装此更新,单击复查并安装更新,然后单击立即安

装。
.NET Framework 是 Windows 的一项新功能。使用 .NET Framework 构建的应用程序将更加安全可靠。只有当

您的软件需要 .NET Framework 时,才需要安装它。

而我开始更新打.NET Framework补丁时,却提示如下:

没有安装更新

下列项目安装失败。要尝试再次安装它们,单击 复查并安装更新,然后再次单击立即安装。

Microsoft .NET Framework,简体中文版

-------------------------------------------------------------

大家都知道,Windows Update站点上的用来更新的补丁程序都是先下载到本地的电脑上,然后才从相应的下载文件夹来安装,我进到了我的Windows Update用做安装补丁的文件夹,就是:
C:\WUTemp
然后进到相应的安装目录,执行其EXE安装程序,其出错的提示分别如下:

对于Q331953,安装时报错如下:

Q331953 安装程序错误

安装程序不能验证 Update.inf 文件的完整性。请确定加密服务正在此计算机上运行。
[确定]

而我搜索了一下整个硬盘,确实没有Update.inf这样的文件存在;还有“加密服务”是指哪个服务啊?是不是指“Cryptographic Services”这一项Windows服务啊?而“Cryptographic Services”我可是启动的了。若不是,该是指具体哪一项服务呢?

我查了注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates下面确实没有有关Q331953的相关项。而WinXP的补丁一般也是系统目录C:\WINDOWS\system32下面的一个或多个DLL程序吧,但Q331953是哪个DLL文件我却不知道啊。另外,我想我进行了系统还原后,可能Q331953确实掉了,需要重新装啊。但为什么装不上去呢?安装补丁时,一般都要参照哪些注册表项或其他系统设置呢?
(我就知道有两个注册表的地方是跟Windows补丁有关的就是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix)

对于.NET Framework,安装时报错如下:

Microsoft .NET 框架 安装

安装程序无法安装Microsoft .NET Framework (Chinese (Simplified))
v1.0.3705,因为它已经安装。
[确定]

-------------------------------------------------------------

对于“Microsoft .NET Framework,简体中文版”我确实已经装上了,Windows Update站点每次总提示还要装确实有点烦,但也没什么大不了的。可Q331953是事关安全的关键性更新补丁啊,为什么我原来能装上去,现在却怎么费劲也装不上去呢?!

各位高手,我真太困惑和迷茫了,请高手们及时给予指点,帮忙up也有分送!
...全文
139 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucerman 2003-04-01
  • 打赏
  • 举报
回复
谢谢ysqu!邮件已经收到,试国可以了。太棒了!哈哈,比尔·盖茨这不死鸟就知道往注册表里写东西,这回还是骗过他了。下面是刚从Windows Update站点粘贴过来的——

选择更新来安装

现在没有可用的关键更新。

不过,Windows Update 为您的计算机发现了其他更新。要浏览这些更新并选择您要安装的,在列表中单击目录标题。



而Microsoft .NET Framework,简体中文版就没这么简单了,我试过把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\.NETFramework先导出,再删掉这个注册表项,结果还是骗不了它。我想除非反安装.NET Framework或者硬性删掉C:\WINDOWS\Microsoft.NET\Framework文件夹(恐怕WinXP的系统文件修复功能对系统文件夹也同样适用吧,那就不太好直接删除了),我想没法再重新Update这一项了,而更新站点显然在这里不只是根据注册表来判断了,也看系统目录了。


再次谢谢ysqu的拔刀相助!
ysqu 2003-03-31
  • 打赏
  • 举报
回复
CHECK
saucerman 2003-03-31
  • 打赏
  • 举报
回复
好的,ysqu,我知道注册表的项了,可以按你的提供导进来了。

但C:\WINDOWS\$NtUninstallQ331953$\spuninst目录下的文件还没办法,请你用邮件附件发给我吧,邮箱是:

truejun@cmmail.com

再次万分感谢了!!!
ysqu 2003-03-31
  • 打赏
  • 举报
回复
一:

C:\WINDOWS\$NtUninstallQ331953$ 的目录
2002-09-09 15:53 530,432 rpcrt4.dll
2003-03-27 13:23 <DIR> spuninst
2 个文件 530,432 字节

C:\WINDOWS\$NtUninstallQ331953$\spuninst 的目录
2003-03-27 13:23 86 spuninst.bat
2002-11-07 11:59 87,040 spuninst.exe
2003-03-27 13:24 3,691 spuninst.inf
3 个文件 90,817 字节
其实你不要那么作,不如我把文件发给你。

二、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953]
"InstalledDate"="3/27/2003"
"InstalledBy"="qys"
"UninstallCommand"="C:\\WINDOWS\\$NtUninstallQ331953$\\spuninst\\spuninst.exe "
"Description"="Windows XP 修补程序(SP2) Q331953"
"Type"="Update"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953\Filelist]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953\Filelist\0]
"FileName"="rpcrt4.dll"
"Version"="5.1.2600.1140"
"BuildDate"="Fri Nov 08 09:48:56 2002"
"BuildCheckSum"="7f820"
"Location"="C:\\WINDOWS\\System32"


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\Q331953

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\Q331953]
"Installed"=dword:00000001
"Comments"="Windows XP 修补程序(SP2) Q331953"
"Backup Dir"=""
"Fix Description"="Windows XP 修补程序(SP2) Q331953"
"Installed By"=""
"Installed On"=""
"Service Pack"=dword:00000002
"Valid"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\Q331953\File 1]
"Flags"=""
"New File"=""
"New Link Date"=""
"Old Link Date"=""
saucerman 2003-03-31
  • 打赏
  • 举报
回复
To ysqu:

谢谢您啦,上次就是你帮了我大忙的啊!:)

这次是这样,看来我的贴子描述的实在是太详细了,以至于没有一个人能仔细看。
C:\WINDOWS\$NtUninstallQ331953$这个目录我现在就不存在了。

但你的回复使我知道了Q331953补的就是rpcrt4.dll这个文件,没错,这个文件现在在我的c:\windows\system32目录下。看来WinXP的系统还原真不是什么好用的东西,它把目录和注册表项删了,而补丁仍是打上的了,但更新站点上却判断还没打,下载后又再打不上。

========================================

现在,请您或者其他打了Q331953这个补丁的兄弟,帮我确认一下:

一、在你的C:\WINDOWS\$NtUninstallQ331953$目录里,都有些什么文件?请把它们的名字列出来。还有在其子目录里,就是C:\WINDOWS\$NtUninstallQ331953$\spuninst里,又都有些什么文件?也请把它们的名字列出来。

我的思路是这样的,我不是没有C:\WINDOWS\$NtUninstallQ331953$这个目录么,我就自己造一个,但一般Windows Update打补丁都不只是一个文件,如果幸运的话,真就是C:\WINDOWS\$NtUninstallQ331953$下面没有其他文件,而C:\WINDOWS\$NtUninstallQ331953$\spuninst下面就一个rpcrt4.dll文件的话,那我就——

COPY c:\windows\system32\rpcrt4.dll C:\WINDOWS\$NtUninstallQ331953$\rpcrt4.dll

二、请你运行regedit.exe注册表编辑器,并把下面两项导出成两个.reg文件
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q331953
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\Q331953
再把它们改名为.txt文件或另用记事本方式打开它们。

然后请你把这两个注册表项的文本内容附在这个帖子这里。我好照此把它们导入我的注册表。

当然我只清楚这两个地方与Update有关,你要知道还有注册表的其他地方也有关,也请一并指教我啊。

我的意思是——我自建补足了那个目录,导入了必要的注册表项,那Update站点该认可我打上补丁了吧?
  • 打赏
  • 举报
回复
你的是盗版吧?其实大可不必如此强求,有些补丁由于推出的比较急并没有完全测试好,装不上也是可能的
ysqu 2003-03-31
  • 打赏
  • 举报
回复
saucerman (外星人) ,你好,名字比熟悉。不过问题太长了

第一个问题:查看你机器是否有如下目录,我的机器就是XP+SP1
C:\WINDOWS\$NtUninstallQ331953$
如果有你进入看看C:\WINDOWS\$NtUninstallQ331953$\spuninst
就明白了。这个补丁主要就是下面这句。
COPY "C:\WINDOWS\$NtUninstallQ331953$\rpcrt4.dll" "c:\windows\system32\rpcrt4.dll"

第二个问题,只要你确认 Microsoft .NET Framework,简体中文版已经安装到系统中就可以了。没大的问题。如果你一定要解决,请期待WINDOWS XP SP2
udbss 2003-03-31
  • 打赏
  • 举报
回复
你所装的是盗版的吧
sunfirey 2003-03-31
  • 打赏
  • 举报
回复
到安全模式下去装补丁

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧