Harden installer update activation fallback
This commit is contained in:
+3
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
## Projekt und Sicherheitsziel
|
||||
|
||||
Das Repository enthält ein .NET-Framework-4.6.1-WinForms-Tool für kontrollierte BizTalk-2020-Wartungsoperationen. Änderungen müssen Dry-run, explizite Freigabe realer Aktionen, sichere Reihenfolgen und wiederherstellbare Installergrenzen erhalten. Die aktuelle Produktversion ist 2.2.2.
|
||||
Das Repository enthält ein .NET-Framework-4.6.1-WinForms-Tool für kontrollierte BizTalk-2020-Wartungsoperationen. Änderungen müssen Dry-run, explizite Freigabe realer Aktionen, sichere Reihenfolgen und wiederherstellbare Installergrenzen erhalten. Die aktuelle Produktversion ist 2.2.3.
|
||||
|
||||
## Installerinvarianten
|
||||
|
||||
@@ -10,9 +10,10 @@ Das Repository enthält ein .NET-Framework-4.6.1-WinForms-Tool für kontrolliert
|
||||
- Eine laufende installierte Anwendung blockiert Update und Deinstallation.
|
||||
- Ein Update darf die aktive Vorversion erst nach erfolgreichem Staging verändern.
|
||||
- Das Backup einer bestehenden Installation wird nur atomar per `Directory.Move` erzeugt. Bei dauerhaftem Fehler bleibt die Vorversion aktiv; es gibt keinen In-place-Kopierfallback.
|
||||
- Nur eine Neuinstallation ohne bestehendes Ziel darf nach ausgeschöpften Move-Retries eine erneut SHA-256-geprüfte Kopie aktivieren.
|
||||
- Nach ausgeschöpften Aktivierungs-Move-Retries darf eine erneut SHA-256-geprüfte Kopie nur in ein nicht vorhandenes Ziel geschrieben werden: bei einer Neuinstallation oder nachdem eine Update-Vorversion vollständig atomar ins Backup verschoben wurde.
|
||||
- Nach jeder Aktivierungsart läuft der Self-Test erneut aus dem endgültigen Installationsziel.
|
||||
- Sobald ein Zielverzeichnis teilweise angelegt sein kann, muss `activated=true` gesetzt sein, damit der Catch-Pfad es entfernt.
|
||||
- Scheitert der Ziel-Self-Test nach einem Update-Kopierfallback, muss die teilweise neue Version entfernt und das atomare Backup wieder als aktives Verzeichnis eingesetzt werden.
|
||||
- Windows-Integration wird erst nach bestandenem Ziel-Self-Test verändert und bei Folgefehlern aus dem Snapshot restauriert.
|
||||
- Diagnose-Logging darf das eigentliche Setup-Ergebnis nie ersetzen.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user