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

Article translations Article translations
Article ID: 939160 - View products that this article applies to.
Expand all | Collapse all

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.

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.
Collapse this tableExpand this table
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.)

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: 
http://www.microsoft.com/downloads/details.aspx?FamilyId=7A4EFC33-0343-4EE4-B0C4-97BD16967A09
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.
Collapse this tableExpand this table
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.
Collapse this tableExpand this table
.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.

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

Properties

Article ID: 939160 - Last Review: October 11, 2011 - Revision: 2.0
APPLIES TO
  • Microsoft .NET Framework 1.1 Service Pack 1, when used with:
    • Windows Vista Home Premium
    • Windows Vista Ultimate
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Starter
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
  • Microsoft .NET Framework 1.0 Service Pack 3, when used with:
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Ultimate
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Starter
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
Keywords: 
kbupdateissue kbuninstall kbinstallation kbupdate kbhowto kbtshoot kbexpertisebeginner kbprb KB939160

Give Feedback

 

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