Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

The file version is rolled back to the version that was installed by the last service pack when you remove some security updates for the .NET Framework 1.1 or for the .NET Framework 1.0


View products that this article applies to.

Symptoms

Consider the following scenario. You have a computer that has the Microsoft .NET Framework 1.1 or the Microsoft .NET Framework 1.0 installed. Then, you remove one of the security updates that are described in the following articles in the Microsoft Knowledge base:
  • 928366 Description of the security update for the .NET Framework 1.1 for Windows XP and Windows 2000: July 10, 2007
  • 929729 Description of the security update for the .NET Framework 1.1 for Windows Vista: July 10, 2007
  • 928367 Description of the security update for the .NET Framework 1.0 for Windows Vista, Windows Server 2003, Windows XP, and Windows 2000: July 10, 2007
In this scenario, the file version of the .NET Framework is rolled back to the file version that was installed by the last service pack. Additionally, you can only reinstall an update that was previously installed or a newer update. You cannot install an older update.

↑ Back to the top


Cause

This behavior occurs because updates for the .NET Framework 1.1 and for the .NET Framework 1.0 were originally designed to work with Windows Installer 2.0. Updates for the .NET Framework 1.1 and for the .NET Framework 1.0 were not designed to work with Windows Installer 3.0.

Note Windows Installer 3.0 is not supported on older platforms such as Microsoft Windows Millennium Edition, Microsoft Windows 98, and Microsoft Windows 95.

Windows Installer 2.0 has a limitation. Windows Installer 2.0 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.1 and for the .NET Framework 1.0.

The custom remove functionality works as follows. The update carries a so-called anti-patch in addition to the payload .msp file. When the appropriate remove command is provided to the update wrapper executable, the wrapper installs the anti-patch. The anti-patch is actually a second update. The second update includes the last known good version of each one of the files in the payload MSP file. This version is the last baseline version. This version is typically from the most recent service pack if one exists. Therefore, when an update for the .NET Framework 1.1 or for the .NET Framework 1.0 is removed, the file version is not always rolled back to the earlier file version. The file version may be rolled back to the file 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. The first update is update KB886906. This update has file version 1.0.3705.6021. The second update is update KB928367. This update has file version 1.0.3705.6060.

The following table describes what occurs in this scenario when you install and then remove the updates.
StepActionPrevious file versionNew file version
1You install the .NET Framework 1.0 Service Pack 3Not applicable1.0.3705.6018
2You install update KB886906. This is the first (older) update.1.0.3705.60181.0.3705.6021
3You install update KB928367. This is the second (newer) update.1.0.3705.60211.0.3705.6060
4You remove update KB928367. This is the second (newer) update.1.0.3705.60601.0.3705.6018
This scenario demonstrates that after you remove the second update, the .NET Framework 1.0 is not rolled back to the file version of 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 Service Pack 3.)

↑ Back to the top


Resolution

Microsoft has released an uninstall cleanup tool to correct this behavior. You should use this tool if you remove any of the security updates that are listed in the "Symptoms" section.

To obtain the uninstall cleanup tool, visit the following Microsoft Download Center website: After you run the uninstall cleanup tool, the computer is rolled back to a known good state. At this point, you can reinstall the earlier update.

The following table describes what occurs when you install and then remove the updates. The table also describes how the uninstall cleanup tool corrects this behavior.
StepActionPrevious file versionNew file version
1You install the .NET Framework 1.0 Service Pack 3Not applicable1.0.3705.6018
2You install update KB886906. This is the first (older) update. 1.0.3705.60181.0.3705.6021
3You install update KB928367. This is the second (newer) update.1.0.3705.60211.0.3705.6060
4You remove update KB928367. This is the second (newer) update.1.0.3705.60601.0.3705.6018
5You download and run the cleanup tool1.0.3705.60601.0.3705.6018
6You reinstall update KB886906. This is the first (older) update.1.0.3705.60181.0.3705.6021
The following table describes the update that you must reinstall if you remove one of the security updates that are listed in the "Symptoms" section.
.NET Framework versionUpdate that you have removedUpdate that you must reinstall
.NET Framework 1.1 Service Pack 1
928366 Description of the security update for the .NET Framework 1.1 for Windows XP and Windows 2000: July 10, 2007

886903 ASP.NET path validation vulnerability in Microsoft .NET Framework 1.1 Service Pack 1

.NET Framework 1.1 Service Pack 1
929729 Description of the security update for the .NET Framework 1.1 for Windows Vista: July 10, 2007

886903 ASP.NET path validation vulnerability in Microsoft .NET Framework 1.1 Service Pack 1

.NET Framework 1.0 Service Pack 3
928367 Description of the security update for the .NET Framework 1.0 for Windows Vista, Windows Server 2003, Windows XP, and Windows 2000: July 10, 2007

886906 ASP.NET path validation vulnerability in Microsoft .NET Framework 1.0 Service Pack 3

You must run the cleanup tool as described here after you remove any of the new updates and before you install the earlier update. You must repeat this process every time that you remove the security update. That is, you must run the uninstall cleanup tool and then install the earlier update every time that you remove the security update.

Note When you run the uninstall cleanup tool, the tool is not installed on the computer. The tool performs the necessary cleanup on the computer and then exits.

↑ Back to the top


More Information

For more information about issues that occur when you remove an update after you install multiple updates, click the following article number to view the article in the Microsoft Knowledge Base:

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 or for the .NET Framework 1.1

↑ Back to the top


Keywords: kblangall, kbmustloc, kbupdateissue, kbuninstall, kbinstallation, kbupdate, kbhowto, kbtshoot, kbexpertisebeginner, kbprb, kb

↑ Back to the top

Article Info
Article ID : 939160
Revision : 4
Created on : 4/17/2018
Published on : 11/6/2019
Exists online : False
Views : 461