http://support.microsoft.com/kb/290301
http://blogs.msdn.com/astebner/pages/8904493.aspx
.NET Framework Cleanup Tool User's Guide
Introduction
This .NET Framework cleanup tool is designed to automatically perform a set of steps to remove selected versions of the .NET Framework from a computer. It will remove files, directories, registry keys and values and Windows Installer product registration information for the .NET Framework. The tool is intended primarily to return your system to a known (relatively clean) state in case you are encountering .NET Framework installation, uninstallation, repair or patching errors so that you can try to install again.
There are a couple of very important caveats that you should review before using this tool to remove any version of the .NET Framework from your system:
- This tool is designed as a last resort for cases where install, uninstall, repair or patch installation did not succeed for unusual reasons. It is not a substitute for the standard uninstall procedure. You should try the steps listed in this blog post before using this cleanup tool.
- This cleanup tool will delete shared files and registry keys used by other versions of the .NET Framework. If you run the cleanup tool, you will need to perform a repair/re-install for all other versions of the .NET Framework that are on your computer or they will not work correctly afterwards.
Download location
The .NET Framework cleanup tool is available for download at the following locations:
The .zip file that contains the tool also contains a file named history.txt that lists when the most recent version of the tool was published and what changes have been made to the tool over time.
Supported products
The .NET Framework cleanup tool supports removing the following products:
- .NET Framework - All Versions
- .NET Framework - All Versions (Tablet PC and Media Center)
- .NET Framework - All Versions (Windows Server 2003)
- .NET Framework - All Versions (Windows Vista and Windows Server 2008)
- .NET Framework 1.0
- .NET Framework 1.1
- .NET Framework 2.0
- .NET Framework 3.0
- .NET Framework 3.5
Not all of the above products will appear in the UI for the .NET Framework cleanup tool on every operating system. The cleanup tool contains logic so that if it is run on an OS version that includes the .NET Framework as an OS component, it will not offer the option to clean it up. This means that running the cleanup tool on Windows XP Media Center Edition or Tablet PC Edition will not offer the option to clean up the .NET Framework 1.0, running it on Windows Server 2003 will not offer the option to clean up the .NET Framework 1.1 and running it on Windows Vista or Windows Server 2008 will not offer the option to clean up the .NET Framework 2.0 or the .NET Framework 3.0.
When choosing to remove any of the above versions of the .NET Framework, the cleanup tool will also remove any associated hotfixes and service packs. You do not need to run any separate steps to remove the service pack(s) for a version of the .NET Framework.
Silentinstallation mode
The .NET Framework cleanup tool supports running in silent mode. In this mode, the tool will run without showing any UI, and the user must pass in a version of the .NET Framework to remove as a command line parameter. To run the cleanup tool in silent mode, you need to download the cleanup tool, extract the file cleanup_tool.exe from the zip file, and then run it using syntax like the following:
cleanup_tool.exe /q:a /c:"cleanup.exe /p <name of product to remove>"
The value that you pass with the /p switch to replace <name of product to remove> in this example must exactly match one of the products listed in the Supported products section above. For example, if you would like to run the cleanup tool in silent mode and remove the .NET Framework 1.1, you would use a command line like the following:
cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 1.1"
One important note – as indicated above, the cleanup tool will not allow you to remove a version of the .NET Framework that is installed as part of the OS it is running on. That means that even if you try this example command line on Windows Server 2003, the tool will exit with a failure return code and not allow you to remove the .NET Framework 1.1 because it is a part of that OS.
Similarly, you cannot use the cleanup tool to remove the .NET Framework 1.0 from Windows XP Media Center Edition or Windows XP Tablet PC Edition or remove the .NET Framework 2.0 or 3.0 from Windows Vista or Windows Server 2008. In addition, if you run the cleanup tool on an OS that has any edition of the .NET Framework installed as a part of the OS, it will prevent you from using the .NET Framework - All Versions option because there is at least one version that it cannot remove.
If you are planning to run the cleanup tool in silent mode, you need to make sure to detect what OS it is running on and not pass in a version of the .NET Framework with the /p switch that is a part of the OS or make sure that you know how to handle the failure exit code that you will get back from the cleanup tool in that type of scenario.
Unattended installation mode
The .NET Framework cleanup tool supports running in silent mode. In this mode, the tool will run and only show a progress dialog during removal, but will require no user interaction. Unattended mode requires the user to pass in a version of the .NET Framework to remove as a command line parameter. To run the cleanup tool in unattended mode, you need to download the cleanup tool, extract the file cleanup_tool.exe from the zip file, and then run it using syntax like the following:
cleanup_tool.exe /q:a /c:"cleanup.exe /p <name of product to remove> /u"
For example, if you would like to run the cleanup tool in unattended mode and remove the .NET Framework 1.1, you would use a command line like the following:
cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 1.1 /u"
Exit codes
The cleanup tool can returns the following exit codes:
- 0 - cleanup completed successfully for the specified product
- 3010 - cleanup completed successfully for the specified product and a reboot is required to complete the cleanup process
- 1 - cleanup tool requires administrative privileges on the machine
- 2 - the required file cleanup.ini was not found in the same path as cleanup.exe
- 3 - a product name was passed in that cannot be removed because it is a part of the OS on the system that the cleanup tool is running on
- 4 - a product name was passed in that does not exist in cleanup.ini
- 100 - cleanup was able to start but failed during the cleanup process
- 1602 - cleanup was cancelled
Log files
The cleanup tool creates the following log files:
-
%temp%\cleanup_main.log - a log of all activity during each run of the cleanup tool; this is a superset of the logs listed below as well as some additional information
-
%temp%\cleanup_actions.log - a log of actions taken during removal of each product; it will list files that it finds and removes, product codes it tries to remove, registry entries it tries to remove, etc.
-
%temp%\cleanup_errors.log - a log of errors and warnings encountered during each run of the cleanup tool
分享到:
相关推荐
".NET Tools and diagnostics"部分涉及了.NET SDK、环境变量、dotnet-install脚本和global.json配置文件的概述,以及.NET CLI命令的使用,如`dotnet build`用于编译项目,`dotnet publish`用于发布应用程序,`dotnet...
.NET Framework, .NET Core, .NET Standard, and .NET Native. Chapter 2, Speaking C#, is about the C# language---the grammar and vocabulary that you will use every day to write the source code for your ...
1. On .NET Reflector's Tools menu, click Integration Options and clear the appropriate Visual Studio Integration checkbox. The next time you open Visual Studio the add-in will be removed. Supported ...
7) Press Patch button and wait for success. Close 8) Open DevExpressNagFix.exe and apply to each of the following files: C:\Program Files (x86)\DevExpress 20.2\Components\Bin\Framework\DevExpress....
卸载 SQL Server 2005 的程序可以通过 Add and Remove Program 来删除所有的 SQL Server 2005 相关的应用程序,包括 .NET Framework。 需要注意的是,即使删除了所有的应用程序,开始菜单的 Program 里面可能还会...
1. ASP.NET is an essential web application framework developed by Microsoft. It provides six built-in objects: Response, Request, Server, Application, Session, and Cookie. These objects facilitate ...
在Windows应用程序开发中,例如.NET Framework或WinForms,我们可以找到这样的控件实现。 `TreeView`控件主要用于展示层次结构的数据,每个节点代表一个条目,节点之间可以有父子关系,通过展开和折叠节点来显示或...
删(Delete):删除数据库记录时,可以使用SQL DELETE语句或者Entity Framework的Remove方法。在使用Entity Framework时,需要先从数据库上下文中找到待删除的对象,然后调用Remove方法,最后调用SaveChanges方法来...
1. **.NET Framework**: 确保计算机上已安装.NET Framework 4.5或更高版本。大多数现代操作系统默认包含此版本或更高版本。 2. **SQLSysClrTypes**: 下载并安装`CHS\x64\SQLSysClrTypes.msi`。 3. **...
确保操作系统环境满足Redis的运行需求,如.NET Framework(对于Windows版本)。 4. 命令行启动:Redis的命令行客户端`redis-cli.exe`可以用于连接本地或远程的Redis服务器,执行各种操作。例如,`redis-cli -h ...
在.NET Core开发中,Entity Framework Core (EF Core) 是一种常用的ORM(对象关系映射)框架,它允许开发者使用C#代码来操作数据库。本文将详细介绍如何在.NET Core类库中利用EF Core进行数据库迁移,将数据模型的...
对于Entity Framework Core,你需要添加`Microsoft.EntityFrameworkCore.Sqlite`和`Microsoft.EntityFrameworkCore.Tools` NuGet包;对于System.Data.SQLite,需要安装`System.Data.SQLite`包。 1. **连接SQLite...
**EF Core** 是微软开发的一个轻量级、高性能、开源的对象关系映射(ORM)框架,它是Entity Framework的最新版本,适用于.NET Core和.NET Standard项目。EF Core支持多种数据库系统,包括MySQL,这与提供的标签相...
framework adds support for typing arbitrary blocks of data and handling it accordingly. This doesn't sound like much, but it is your basic MIME-type support found in many browsers and mail tools ...
对于EntityCoreDemo,可能已经包含了`Microsoft.EntityFrameworkCore`、`Microsoft.EntityFrameworkCore.SqlServer`以及`Microsoft.EntityFrameworkCore.Tools`等依赖。这些包分别提供了核心ORM功能、SQL Server...
ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10 Seattle =============================================...the component package and click Remove). Rename the old ICS directory and unzip to...
Entity Framework (EF) 是微软提供的一款强大的对象关系映射(ORM)框架,它允许开发者使用.NET中的类和对象来操作数据库中的数据,而无需编写大量的SQL语句。在EF中,DBFirst设计模式是一种常见的开发策略,尤其...
13. **多路归并排序(Fork/Join Framework)**:`java.util.concurrent.ForkJoinPool`和相关类提供了并行计算的新方法,适用于大数据量的排序和计算任务。 这些只是JDK 7 API中的一部分亮点,实际文档中涵盖了更多...
使用断言库(如Microsoft.VisualStudio.TestTools.UnitTesting.Assert或NUnit.Framework.Assert)来验证测试结果。 例如,一个简单的测试用例可能如下所示: ```csharp [TestClass] public class ListTest { ...