在删除 .NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 或 Visual Studio .NET 2003 的更新时,文件版本回滚到上一个 Service Pack 所安装的版本

文章翻译 文章翻译
文章编号: 938244 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

请考虑以下情况。您的计算机上运行了 Microsoft .NET Framework 1.0、.NET Framework 1.1、Microsoft Visual Studio .NET 2002 或 Visual Studio .NET 2003。您安装了 .NET Framework 或 Visual Studio .NET 的多个更新。您删除了一个更新。在这种情况下,.NET Framework 或 Visual Studio .NET 的文件版本将回滚到上一个 Service Pack 所安装的版本。

原因

出现此问题的原因是,.NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 和 Visual Studio .NET 2003 的更新最初被设计为与 Microsoft Windows Installer 2.0 一起运行,而没有被设计为与 Windows Installer 3.0 一起运行。较旧的操作系统(如 Microsoft Windows 95、Windows 98 和 Windows Millennium Edition)不支持 Windows Installer 3.0。

Windows Installer 2.0 存在局限性。它本身并不支持删除更新的功能。为了变通解决此局限性,在 .NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 或 Visual Studio .NET 2003 的更新中内置了自定义删除功能。

自定义删除功能的运行方式如下。除了 .msp 负载文件之外,该更新还包含一个“Anti-Patch”。如果向更新包装可执行程序提供用作删除功能的相应命令行,则该包装将安装该 Anti-Patch。Anti-Patch 实际上是包含 .msp 负载文件中上一个已知良好版本文件的另一个更新。此版本就是上一个基线版本,通常来自于最新的 Service Pack(如果存在)。因此,在删除 .NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 或 Visual Studio .NET 2003 的更新时,该文件版本并不总是回滚到较早版本,而是可能回滚到上一个 Service Pack 所安装的版本。

请考虑以下情况。您具有 .NET Framework 1.0 Service Pack 3 (SP3) 的两个更新。第一个更新是 Microsoft 知识库文章 886906 中提到的更新。此更新的文件版本为 1.0.3705.6021。第二个更新是 Microsoft 知识库文章 928367 中提到的更新。此更新的文件版本为 1.0.3705.6060。

下表将介绍这种情况。
收起该表格展开该表格
步骤您执行的操作之前的文件版本之后的文件版本
1安装 .NET Framework 1.0 SP3。不适用1.0.3705.6018
2安装文章 886906 中的第一个(较旧)更新。1.0.3705.60181.0.3705.6021
3安装文章 928367 中的第二个(较新)更新。1.0.3705.60211.0.3705.6060
4您使用“添加或删除程序”项来删除文章 928367 中的第二个(较新)更新。1.0.3705.60601.0.3705.6018
此情形演示了在删除第二个更新之后,.NET Framework 1.0 并非像预期的那样回滚到第一个更新的文件版本。相反,.NET Framework 1.0 回滚到基线版本。基线版本是 .NET Framework 1.0 SP3 中包含的文件版本。

解决方案

Microsoft 已发布了卸载清理工具,以纠正这些更新的卸载行为。如果要卸载 .NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 或 Visual Studio .NET 2003 的任何更新,我们建议使用卸载清理工具,而不是尝试通过使用“控制面板”中的“添加或删除程序”项来卸载此更新。 可以从 Microsoft 下载中心下载以下文件:


收起这个图片展开这个图片
下载
立即下载卸载清理工具包。

发布日期:2007 年 11 月 2 日

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

要使用此工具,请在命令提示符处键入以下命令,其中 number 是更新的 KB 编号
UninstallFxVSUpdate.exe KBnumber
此工具会正确卸载更新,并将计算机还原到预期的状态而不是上一个 Service Pack 版本。如果要卸载 .NET Framework 1.0、.NET Framework 1.1、Visual Studio .NET 2002 或 Visual Studio .NET 2003 的任何更新,我们建议使用此工具,而不是使用“添加或删除程序”项。

下表介绍一种使用卸载清理工具来删除更新的情况:
收起该表格展开该表格
步骤您执行的操作之前的文件版本之后的文件版本
1安装 .NET Framework 1.0 SP3。不适用1.0.3705.6018
2安装文章 886906 中的第一个(较旧)更新。1.0.3705.60181.0.3705.6021
3安装文章 928367 中的第二个(较新)更新。1.0.3705.60211.0.3705.6060
4使用卸载清理工具来删除文章 928367 中的第二个(较新)更新。1.0.3705.60601.0.3705.6021
此情况演示了在使用卸载清理工具来删除第二个更新之后,.NET Framework 1.0 像预期的那样回滚到第一个更新的文件版本。

也可以使用卸载清理工具来清理系统并将其还原到已知的良好状态,即使您已使用“添加或删除程序”项来卸载更新也是如此。为此,请在命令提示符处键入以下命令:
UninstallFxVSUpdate.exe /cleanup
要查看此工具的其他命令行选项,请在命令提示符处键入以下命令:
UninstallFxVSUpdate.exe /?

警告

在可能安装和卸载多个更新的情况下,此工具无法支持此类情况的所有可能的排列组合。此工具在以下情况中不受支持:
  • 安装了某个更新及其对应的本地化更新

    您安装了某个具有 6 位 KB 编号的更新,例如 KB123456。然后,您还安装了同一个更新的本地化版本。在这种情况下,无法使用此工具来卸载第一个更新。

    注意:本地化版本由 KB 编号末尾的 4 位后缀来标识。例如:KB1234561033

    由于此工具的局限性,如果您尝试通过使用第一个更新的 6 位 KB 编号来删除它,此工具将删除使用 10 位 KB 编号的第二个更新。

    注意:您仍然可以使用此工具来删除具有 10 位 KB 编号的第二个更新。
  • 安装然后卸载了未并入的修补程序

    在安装定期更新之前,手动安装然后卸载了未并入的修补程序。在这种情况下,当您尝试卸载最新的更新时,卸载清理工具将重新安装未并入的修补程序。出现此问题时,会阻止安装任何其他更新,直到通过使用“添加或删除程序”项手动删除了未并入的修补程序。

    注意:未并入的修补程序是指不包含在 Service Pack 或产品发布中的修补程序或更新。此类修补程序旨在解决客户使用产品时遇到的特定问题。不过,此修补程序不适用于常规用法。 有关未并入的修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    942380 尝试应用修补程序或更新时出现的错误消息:“Error 9002. Microsoft Visual Studio .NET 2003 Hotfix (KBxxxxxx) cannot be installed because you have one or more hotfixes installed.Remove them and try again.”

属性

文章编号: 938244 - 最后修改: 2007年12月19日 - 修订: 2.4
这篇文章中的信息适用于:
  • Microsoft .NET Framework 1.1 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 3
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 企业级结构设计版
  • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition SP1
  • Microsoft Visual Studio .NET 2002 企业级开发版
  • Microsoft Visual Studio .NET 2002 专业版
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Service Pack 1
关键字:?
atdownload kbupdateissue kbuninstall kbinstallation kbupdate kbhowto kbtshoot kbexpertisebeginner kbprb KB938244
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com