Update
Das bestehende Produkt bleibt logisch erhalten und wird auf einen neuen Stand gebracht. Detection und Benutzerdaten muessen danach weiterhin passen.
Upgrade
Ein Paket ist nicht fertig, wenn Version 1 installiert. Wirklich belastbar wird es erst, wenn Upgrade, Ersetzung, Rollback und Detection ueber mehrere Versionen sauber funktionieren.
Das bestehende Produkt bleibt logisch erhalten und wird auf einen neuen Stand gebracht. Detection und Benutzerdaten muessen danach weiterhin passen.
Ein neues Paket ersetzt ein altes Paket im Deployment-System. Das ist mehr als nur eine neue Version: Reihenfolge, Deinstallation und Zuordnung werden aktiv gesteuert.
Nicht jede neue Version ersetzt die alte. Manche Hersteller erlauben oder erwarten parallele Installationen. Dann ist eine falsche Supersedence-Logik selbst der Fehler.
Wenn ein Upgrade fehlschlaegt, muss klar sein, welcher Zustand danach erwartet wird: alte Version, keine Version oder halb migrierter Mischzustand.
Praxisfragen
Die haertesten Fehler zeigen sich oft erst zwischen zwei Versionen, nicht im Erstinstallationslauf.
Bei MSI helfen UpgradeCode, Upgrade-Tabelle und ProductCode-Wechsel. Bei EXE-Installern braucht es echte Vorher/Nachher-Tests.
MSI-Upgradecodes lesenWenn Detection hart auf eine Einzelversion gebaut ist, wird ein Major Upgrade spaeter oft als "nicht installiert" fehlinterpretiert.
Detection mit PowerShell lesenUpgrade kann Dateien ersetzen, Profile migrieren oder Altlasten liegenlassen. Das gehoert in die Testmatrix.
Testmatrix lesenManche Setups entfernen Vorgaenger selbst, andere brauchen explizite Altversionen-Logik im Deployment.
Uninstall in der Praxis lesenMindestens pruefen:
- Altversion A vorhanden, neue Version B wird installiert
- Detection vor und nach dem Upgrade
- Uninstall-String nach dem Upgrade
- Daten, Dienste, Plugins und Scheduled Tasks
- Verhalten bei Reboot oder Fehler im Mittelzustand
MEM / MECM
Supersedence ist nur so sauber wie das Paketdesign darunter.
Das neue Paket muss sicher erkannt werden, ohne die Altversion versehentlich weiterhin als gueltig zu betrachten.
Es muss klar sein, welche Version wen ersetzt und ob dabei eine Deinstallation der Altversion noetig ist.
Wenn neue Versionen andere Runtimes oder Frameworks brauchen, ist die Supersedence ohne Dependency-Plan unvollstaendig.
Dependencies lesenx86 und x64 derselben App duerfen nicht automatisch dieselbe Supersedence-Logik teilen, wenn Detection und Pfade unterschiedlich sind.
32/64-Bit-Fallen lesenEin Paket wird als "neue Version" gebaut, aber Detection, Altversionen-Logik und Uninstall bleiben auf dem alten Stand. Dadurch entstehen Doppelinstallationen oder Wiederangebote.
Ein Upgrade kann spaeter Reparaturverhalten triggern oder bestehende Self-Heal-Mechanismen brechen.
Repair, Modify und Self-Heal lesenJede neue Version ist auch eine neue Vertrauensentscheidung: neue Signatur, neuer Publisher-Hash, neue Quelle oder neuer Wrapper.
Security und Trust lesenEin Erstinstallations-Test ersetzt nie den Upgrade-Test. Beides gehoert in die Freigabe.
Deployment-Checkliste lesen