MSI-Upgrade und Registrierungsschlüssel behalten?

Wir haben ein Produkt, 1.0, auf dem Gebiet. Ich versuche, das Installationsprogramm für dieses Produkt zu aktualisieren, damit es über die alte Version installiert werden kann, um eine neue Version 2.0 zu installieren. Ich verwende dazu ein Visual Studio 2010-Setup-Projekt.

Ich habe den UpgradeCode beibehalten und die Option zum Entfernen früherer Versionen auf true gesetzt, und das neue Installationsprogramm wird erfolgreich über das alte Installationsprogramm installiert, wobei das alte Installationsprogramm entfernt wird.

Es scheint jedoch, dass die Deinstallation des alten MSI erfolgtnach dem die Installation des neuen MSI. Beide MSIs stellen dieselben Registrierungsschlüssel bereit (da sich unser Code, der sie verwendet, nicht geändert hat). Dies bedeutet jedoch, dass diese Registrierungsschlüssel entfernt werden, wenn die alte MSI deinstalliert wird. Und da diese Deinstallation nach der Installation des neuen MSI erfolgt ... sind diese Schlüssel einfach weg.

Gibt es eine einfache Möglichkeit, dies zu verhindern? Dies scheint ein ziemlich normaler Anwendungsfall zu sein, aber ich kann nicht herausfinden, wie ich diese Registrierungsschlüssel pflegen soll, wenn das alte Installationsprogramm sie entfernt.

Bearbeiten: Also habe ich herausgefunden, wie der RemoveExistingProduct-Schritt früher im Prozess verschoben werden kann. Und ich habe noch einmal nachgesehen - ja, in VS2005 wurde es zuerst gemacht, in 2010 ist es fast das letzte Mal. Ich bin nicht sicher, wie sie damit rechnen, wenn das alte Deinstallationsprogramm Dinge entfernt, die das neue Installationsprogramm hinzufügt, ist es nur eine Frage von Orca und der Bearbeitung der Sequenznummer des Schritts.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage