Description of the .NET Framework 2.0 SP2 forward compatibility update for Windows XP and for Windows Server 2003


This article describes a forward compatibility update for the Microsoft .NET Framework 2.0 Service Pack 2 (SP2). This update enables serialization and deserialization between clients and servers that have the .NET Framework 2.0 or the .NET Framework 4.0 installed.

Note This forward compatibility update includes the hotfix that is described in the following Microsoft Knowledge Base (KB) article:
960442 FIX: You receive an exception error message when you use the BinaryFormatter object to serialize and to deserialize a generic type in an assembly in the .NET Framework 2.0 Service Pack 2 or in the .NET Framework 3.5 Service Pack 1

More Information

Update information

The following file is available for download from the Microsoft Download Center:

Update for the .NET Framework 2.0 SP2 forward compatibility
Download Download the update package now.
For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
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 install this update, you must have Windows Installer 3.1 or a later version of Windows Installer installed on the computer. To obtain the latest version of Windows Installer, visit the following Microsoft Web site:

Update removal information

To remove this update, use the Add or Remove Programs item in Control Panel.

Command-line switches for this update

You can find information about the various command-line switches that this update supports in security bulletin MS09-061. Additionally, you can find this information on the following Microsoft Developer Network (MSDN) Web site: For more information about Windows Installer, visit the following MSDN Web site:

File information

The English (United States) version of this security update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the
Time Zone tab in the Date and Time item in Control Panel.
  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:
    VersionProductMilestoneService branch
    2.0.50727. 3xxx.NET Framework 2.0SP2GDR
    2.0.50727. 4xxx.NET Framework 2.0SP2LDR
  • GDR service branches contain only those fixes that are widely released to address widespread, critical issues. LDR service branches contain hotfixes in addition to widely released fixes.
For all 32-bit versions of the .NET Framework 2.0
File nameFile versionFile sizeDateTime
For all 64-bit versions of the .NET Framework 2.0
File nameFile versionFile sizeDateTime
For all IA-64-bit versions of the .NET Framework 2.0
File nameFile versionFile sizeDateTime

Known issues

When you try to serialize or deserialize generic types for different versions of the .NET Framework by using the BinaryFormatter class, you may experience one of the following issues.

Issue 1

The serialization or deserialization operation does not work.

Resolution for issue 1

To resolve this issue, use one of the following methods:
  • If the client is running Windows Vista Service Pack 1 (SP1), upgrade the operating system to Windows Vista SP2.
  • If the server is running Windows Server 2008, upgrade the operating system to Windows Server 2008 SP2.

Issue 2

The serialization operation is running in the .NET Framework 4.0, and the deserialization operation is running in the .NET Framework 2.0. When you try to serialize or deserialize a generic array type, such as List<T[]>, the serialization process does not work.

Resolution for issue 2

To resolve this issue, add a SerializationBinder class to the serialization side to change the version of the type that is transmitted in the wire.

For example, you can download samples of Windows Communication Foundation (WCF) and of Windows Workflow Foundation (WF) for the .NET Framework 4.0 Release Candidate. To obtain the sample installation package, visit the following Microsoft Web site:After you download the sample installation package, add the GenericsVTSSerializationBinder sample class that is located in the following folder:
<install path>\WCF\Basic\Contract\Data\SBGenericsVTS
Note The SafeSerializationManager class cannot be used in this situation because it is supported only by the .NET Framework 4.0. Therefore, the class cannot be used on the .NET Framework 2.0 deserialization side.


Номер статьи: 976569 — последний просмотр: 21 июня 2014 г. — редакция: 1

Microsoft .NET Framework 2.0 Service Pack 2, Microsoft Windows XP Service Pack 3, Microsoft Windows XP Service Pack 2

Отзывы и предложения