Setup and Deployment Project: Probleme mit VS 2010


Thomas Wölfer
Thomas Wölfer

07. Juli 2010


Nachdem mich das nun fast 3 Tage gekostet hat, hilft es vielleicht jemand anderem in einer ähnlichen Situation. Ich hatte eine Setup and Deployment Project, das für die Installation unserer Software zuständig war, und das ursprünglich mit VS 2005 erstellt worden war. Das gleiche Projekt funktionierte auch prima mit VS 2008.

In der Version mit VS 2010 klappt es nicht mehr: Wenn man die Software auf einem “leeren” System installiert, geht alles gut. Befindet sich aber bereits eine Vorgängerversion der gleichen Software auf dem Zielsystem, dann werden im Laufe des Installationsvorganges (fast) alle Dateien der Software entfernt: Der Installer sagt das alle in Ordnung wäre – schaut man dann aber auf die Festplatte, so ist keine einzige Datei der Installation vorhanden.

Grund ist ein bekannter Fehler in VS 2010. (Connect-Eintrag dazu.). Im Wesentlichen läuft es darauf hinaus: Wenn man die Option “RemovePreviousVersions” auf “true” stellt, dann werden die Dateien der Vorgängerversion im Zuge der Installation entfernt. Der Fehler macht sich dadurch bemerkbar, das der Schritt mit dem entfernen der alten Version nicht vor der Installation der neuen stattfindet, sondern danach: Alle Dateien die sowohl in der alten als auch in der neuen Version drin sind, landen dann eben nicht auf dem Zielsystem. :-(

Angesichts der Tatsache das sich bei den Setup-Projekten in den letzten 6 Jahren praktisch nichts getan hat, finde ich es schon ein bisschen schwach, das die Softies es trotzdem geschafft haben, eine wichtige Funktion hops gehen zu lassen.

Ein (teilweise brauchbarer) Workaround ist im Connect-Eintrag beschrieben. (Im Wesentlichen baut man einen Post-Build Step, der die Reihenfolge der Arbeitsschritte korrigiert.)