Update: Dateien und Registrierungsschlüssel für den Installationspfad verschwinden unerwartet beim Installieren einer MSI-Datei für ein Setup-Projekt, das ein umfassendes Update von Visual Studio 2008 zu Visual Studio 2010

Gilt für: Visual Studio 2010

Problembeschreibung


Stellen Sie sich folgendes Szenario vor:
  • Sie erstellen ein Setupprojekt Microsoft Visual Studio 2008 und einen Installationspfad generierte MSI-Datei installieren.
  • Sie migrieren das Setup-Projekt in Visual Studio 2010 und dann die folgenden Aktionen für eine wichtige Aktualisierung:
    • Sie ändern das wichtige Feld ProductVersion -Eigenschaft.
    • Sie ändern die ProductCode -Eigenschaft.
    • RemovePreviousVersions -Eigenschaft wird auf Truefestgelegt.
  • Sie Setup-Projekt neu erstellen und installieren Sie die generierte MSI-Datei auf denselben Installationspfad.
Dabei verschwinden die Dateien und Registrierungsschlüssel für den Installationspfad unerwartet.

Ursache


Dieses Problem tritt auf, weil die GUIDs in Visual Studio 2010 erstellt ein anderer Hashalgorithmus verwendet wird. Bei der Installation der MSI-Datei, die von Visual Studio 2010-Setup-Projekt erstellt wird, bestimmt die MSI-Datei, die GUID geändert wurde und entfernt die Dateien und Registrierungsschlüssel für den Installationspfad basierend auf der Reihenfolge des Projekts.

Lösung


Um dieses Problem zu beheben, wenden Sie diesen Hotfix. Dieser Hotfix wird die BackwardCompatibleIDGeneration . Standardmäßig ist diese Eigenschaft auf Falsefestgelegt. Bevor Sie das Setup-Projekt in Visual Studio 2010 erstellen, müssen Sie explizit die BackwardCompatibleIDGeneration -Eigenschaft auf true, um den Hotfix zu aktivieren.

Informationen zum Hotfix

Ein unterstützter Hotfix ist von Microsoft erhältlich. Allerdings soll diesen Hotfix nur das Problem zu beheben, die in diesem Artikel beschrieben. Wenden Sie dieses Hotfix nur auf Systeme an, bei denen das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält. Wenn dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Für eine vollständige Liste der Telefonnummern von Microsoft Customer Service and Support oder für Erstellung eine separate Serviceanfrage, fahren Sie auf der folgenden Microsoft-Website fort: Hinweis In bestimmten Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn ein Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren. Um diesen Hotfix aus der MSDN Code Gallery herunterzuladen, besuchen Sie die folgende Microsoft-Website:Hinweis Der MSDN Code Gallery zeigt die Sprachen an, für die der Hotfix verfügbar ist. Die aufgeführten Sprache nicht angezeigt wird, ist der Code Gallery-Ressourcenseite nicht für diese Sprache steht. Oder Sie können diesen Hotfix von der folgenden Microsoft Connect-Website:

Voraussetzungen

Um diesen Hotfix anwenden zu können, müssen Sie Visual Studio 2010 installiert haben.

Informationen zum Neustart

Sie müssen den Computer neu starten, nachdem Sie diesen Hotfix angewendet haben. Wir empfehlen, bevor Sie diesen Hotfix installieren, beenden Sie alle Instanzen von Visual Studio oder Microsoft.NET Framework-Anwendung.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keine zuvor veröffentlichten Hotfix.

Dateiinformationen

Die internationale Version dieses Hotfix installiert Dateien mit den in der nachstehenden Tabelle aufgelisteten Attributen. Datums- und Uhrzeitangaben für diese Dateien sind in der "Universal Time Coordinated" (UTC) angegeben. Die Datums- und Uhrzeitangaben für diese Dateien werden auf Ihrem lokalen Computer in Ihrer Ortszeit und unter Berücksichtigung der Sommerzeit angegeben. Außerdem können sich die Datums- und Uhrzeitangaben ändern, wenn Sie bestimmte Operationen mit den Dateien ausführen.
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Dpca.dll10.0.30319.464236,87211-May-201113:08x86
Dpdpl.dll10.0.30319.464145,23211-May-201113:08x86
Dpdpl.dll10.0.30319.464145,74411-May-201113:08x86
Dpdpl.dll10.0.30319.464146,25611-May-201113:08x86
Dpdpl.dll10.0.30319.464147,28011-May-201113:08x86
Dpdpl.dll10.0.30319.464147,79211-May-201113:08x86
Dpdpl.dll10.0.30319.464148,30411-May-201113:08x86
Dpdpl.dll10.0.30319.464904,52011-May-201113:08x86
Dpedt.dll10.0.30319.464696,13611-May-201113:08x86
Dpplg.dll10.0.30319.4642,606,40811-May-201113:08x86
Dpprj.dll10.0.30319.4641,229,64011-May-201113:08x86
Dpprjui.dll10.0.30319.464163,15211-May-201113:08x86
Dpprjui.dll10.0.30319.464163,66411-May-201113:08x86
Dpprjui.dll10.0.30319.464167,24811-May-201113:08x86
Dpprjui.dll10.0.30319.464168,27211-May-201113:08x86
Dpprjui.dll10.0.30319.464178,00011-May-201113:08x86
Dpprjui.dll10.0.30319.464178,51211-May-201113:08x86
Dpprjui.dll10.0.30319.464180,56011-May-201113:08x86
Dpprjui.dll10.0.30319.464181,07211-May-201113:08x86
Dpprjui.dll10.0.30319.464181,58411-May-201113:08x86
Projectsidl3.tlbNot applicable2,81610-May-201103:47Not applicable

Problemumgehung


Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:
  • Methode 1: Komponenten-GUIDs zu identisch mit denen von Visual Studio 2008 nicht manuell ändern.
  • Methode 2: Ändern Sie die RemoveExistingProducts -Aktion nach der Aktion InstallInitialize . Dadurch wird sichergestellt, dass ältere Dateien entfernt und dann von der neueren Version neu installiert.Hinweis Diese Methode funktioniert nicht, wenn Sie gemeinsam Komponenten verwendete.

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen


Weitere Informationen zur Terminologie für Softwareupdates von Microsoft finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird