Microsoft KB Archive/938244

= The file version is rolled back to the version that was installed by the last service pack when you remove an update for the .NET Framework 1.0, the .NET Framework 1.1, Visual Studio .NET 2002 or Visual Studio .NET 2003 =

Article ID: 938244

Article Last Modified on 12/3/2007

-

APPLIES TO


 * 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 Enterprise Architect
 * Microsoft Visual Studio .NET 2002 Enterprise Architect
 * Microsoft Visual Studio .NET 2002 Enterprise Developer
 * Microsoft Visual Studio .NET 2002 Enterprise Developer
 * Microsoft Visual Studio .NET 2002 Professional Edition
 * Microsoft Visual Studio .NET 2002 Professional Edition
 * 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

-



SYMPTOMS
Consider the following scenario. You have a computer that is running the Microsoft .NET Framework 1.0, the .NET Framework 1.1, Microsoft Visual Studio .NET 2002, or Visual Studio .NET 2003. You install multiple updates for the .NET Framework or Visual Studio .NET. You remove an update. In this scenario, the file version of the .NET Framework or Visual Studio .NET is rolled back to the version that was installed by the last service pack.



CAUSE
This issue occurs because updates for the .NET Framework 1.0, for the .NET Framework 1.1, for Visual Studio .NET 2002, and for Visual Studio .NET 2003 were originally designed to work with Microsoft Windows Installer 2.0. The updates were not designed to work with Windows Installer 3.0. Windows Installer 3.0 is not supported on older operating systems, such as Microsoft Windows 95, Windows 98, and Windows Millennium Edition.

Windows Installer 2.0 has a limitation. It does not natively support the ability to remove an update. To work around this limitation, a custom remove functionality is built into the updates for the .NET Framework 1.0, for the .NET Framework 1.1, for Visual Studio .NET 2002, or for Visual Studio .NET 2003.

The custom remove functionality works as follows. The update carries an &quot;anti-patch&quot; in addition to the payload .msp file. When the appropriate command line for the remove functionality is provided to the update wrapper executable program, the wrapper installs the anti-patch. The anti-patch is actually a second update that includes the last known good version of the files in the payload .msp file. This version is the last baseline version, typically from the most recent service pack if one exists. Therefore, when an update for the .NET Framework 1.0, for the .NET Framework 1.1, for Visual Studio .NET 2002, or for Visual Studio .NET 2003 is removed, the file version is not always rolled back to the earlier version. The file version may be rolled back to the version that was installed by the last service pack.

Consider the following scenario. You have two updates for the .NET Framework 1.0 Service Pack 3 (SP3). The first update is the update that is mentioned in Microsoft Knowledge Base article 886906. This update has file version 1.0.3705.6021. The second update is the update that is mentioned in Microsoft Knowledge Base article 928367. This update has file version 1.0.3705.6060.

The following table describes this scenario.

This scenario demonstrates that after you remove the second update, the .NET Framework 1.0 is not rolled back to the file version from the first update as expected. Instead, the .NET Framework 1.0 is rolled back to the baseline version. The baseline version is the file version that is included in the .NET Framework 1.0 SP3.



RESOLUTION
Microsoft has released the Uninstall Cleanup Tool to correct the uninstall behavior for these updates. If you want to uninstall any update for the .NET Framework 1.0, for the .NET Framework 1.1, for Visual Studio .NET 2002 or for Visual Studio .NET 2003, we recommend that you use the Uninstall Cleanup Tool instead of trying to uninstall the update by using the Add or Remove Programs item in Control Panel. The following file is available for download from the Microsoft Download Center:

Download the Uninstall Cleanup Tool package now.

Release Date: November 2, 2007

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

To use the tool, type the following command at the command prompt, where  is the KB number of the update

UninstallFxVSUpdate.exe KB

The tool will correctly uninstall the update and revert the computer to the expected state instead of to the previous service pack version. We recommend that you use this tool instead of using the Add or Remove Programs item to uninstall any updates for the .NET Framework 1.0, for the .NET Framework 1.1, for Visual Studio .NET 2002, or for Visual Studio .NET 2003.

The following table describes a scenario in which the Uninstall Cleanup Tool is used to remove the update:

This scenario demonstrates that after you use the Uninstall Cleanup tool to remove the second update, the .NET Framework 1.0 is rolled back to the file version from the first update as expected.

The Uninstall Cleanup Tool can also be used to clean up and revert a system to a known good state even if you already used the Add or Remove Programs item to uninstall an update. To do this, type the following command at a command prompt:

UninstallFxVSUpdate.exe /cleanup

To see additional command-line options for the tool, type the following command at a command prompt:

UninstallFxVSUpdate.exe /?

Caveats
This tool does not support all possible permutations and combinations in which multiple updates may be installed and uninstalled. The tool is not supported in the following scenarios:  An update in addition to the corresponding localized update is installed

You have an update installed that has a 6 digit KB number, such as KB123456. Then you also install a localized version of the same update. In this scenario, you cannot use the tool to uninstall the first update.

Note A localized version is identified by a 4 digit suffix at the end of the KB number. For example: KB1234561033

Because of limitations of the tool, if you try to remove the first update by using its 6 digit KB number, the tool will remove the second update that uses the 10 digit KB number.

Note You can still use the tool to remove the second update with the 10 digit KB number. An unmerged hotfix was installed and then uninstalled

An unmerged hotfix was manually installed and then uninstalled before you install a regular update. In this scenario, when you try to uninstall the most recent update, the uninstall cleanup tool will reinstall the unmerged hotfix. When this problem occurs, the installation of any other update is blocked until the unmerged hotfix is manually removed by using the Add or Remove Programs item.

Note An unmerged hotfix is a hotfix or an update that will not be included in a service pack or in a product release. This kind of fix is intended to resolve a specific problem that a customer has with a product. However, this fix is unsuitable for general use. For more information about unmerged hotfixes, click the following article number to view the article in the Microsoft Knowledge Base:

942380 Error message when you try to apply a hotfix or an update: &quot;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.&quot;



Additional query words: security update uninstall remove .NET Framework 1.0 1.1 rollback uninstall MSI Windows Installer 2.0 2.x limitation anti-patch file version Service Pack SP baseline

Keywords: kbhowto kbtshoot kbprb kbupdate kbuninstall kbupdateissue atdownload kbexpertisebeginner kbinstallation KB938244

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.