FIX: Files and registry keys for the installation path disappear unexpectedly when you install an MSI file for a Setup project that has a major upgrade from Visual Studio 2008 to Visual Studio 2010

Applies to: Visual Studio 2010


Consider the following scenario:
  • You build a Microsoft Visual Studio 2008 Setup project and then install the generated MSI file to an installation path.
  • You migrate the Setup project to Visual Studio 2010 and then take the following actions for a major upgrade:
    • You change the major field of the ProductVersion property.
    • You change the ProductCode property.
    • You set the RemovePreviousVersions property to True.
  • You rebuild the Setup project and then install the generated MSI file on the same installation path.

In this scenario, the files and registry keys for the installation path disappear unexpectedly.


This problem occurs because a different hashing algorithm is used to create the GUIDs in Visual Studio 2010. When you install the MSI file that is created from the Visual Studio 2010 Setup project, the MSI file determines that the GUID has changed and removes the files and registry keys for the installation path based on the sequence of the project.


To resolve this problem, apply this hotfix. This hotfix introduces the BackwardCompatibleIDGeneration property. By default, this property is set to False. Before you build the Setup project in Visual Studio 2010, you have to explicitly set the BackwardCompatibleIDGeneration property to True to enable the hotfix.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

To download this hotfix from the MSDN Code Gallery, visit the following Microsoft website:
Note The MSDN Code Gallery displays the languages for which the hotfix is available. If you do not see your language listed, it is because the Code Gallery resource page is not available for that language.

Or, you can download this hotfix from the following Microsoft Connect website:


To apply this hotfix, you must have Visual Studio 2010 installed.

Restart information

You may have to restart the computer after you apply this hotfix. We recommend that you exit any instances of Visual Studio or of the Microsoft .NET Framework applications before you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
File nameFile versionFile sizeDateTimePlatform
Projectsidl3.tlbNot applicable2,81610-May-201103:47Not applicable


To work around this problem, use one of the following methods:
  • Method 1: Manually change all component GUIDs to be the same as those of Visual Studio 2008.
  • Method 2: Resequence the RemoveExistingProducts action after the InstallInitialize action. This makes sure that older files are removed and then reinstalled by the newer version.

    Note This method does not work when you have shared components.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates