Harden installer update activation fallback

This commit is contained in:
2026-08-24 12:53:35 +02:00
parent 4af64d8b41
commit 3219c3f1bc
15 changed files with 196 additions and 31 deletions
@@ -12,7 +12,7 @@ Vor Version 2.1.0 enthielt das Repository keinen Installer für die C#-Anwendung
- Update nur bei geschlossener produktiver Toolinstanz.
- Staging und Backup als eindeutige Geschwister des Installationsverzeichnisses auf demselben Volume.
- Acht begrenzte Move-Versuche mit 250, 500, 1.000, 2.000, 3.000, 5.000 und 8.000 ms Backoff zwischen den Versuchen.
- SHA-256-verifizierter Kopierfallback ausschließlich für eine Neuinstallation ohne aktive Vorversion; Updates bleiben strikt atomar.
- SHA-256-verifizierter Kopierfallback für eine Neuinstallation ohne Ziel oder für eine Update-Aktivierung nach vollständig atomar gesicherter Vorversion; niemals als In-place-Update.
- Zweiter Self-Test nach Aktivierung und vor Windows-Registrierung.
- Automatisches Datei- und Registrierungsrollback bei Fehlern.
- Dauerhaftes phasenbezogenes Installerlog unter ProgramData.
@@ -26,7 +26,7 @@ Vor Version 2.1.0 enthielt das Repository keinen Installer für die C#-Anwendung
## Lokal verifiziert
- Release-Build aller Projekte mit Mono MSBuild.
- Siebzehn Regressionstests einschließlich manipulierter/zusätzlicher/ausbrechender Payload-Pfade, Staging-Abbruch ohne Mutation, transienter Move-Erholung, verifiziertem Neuinstallationsfallback, begrenztem Updateabbruch, erzwungenem Fehler des zweiten Self-Tests mit Wiederherstellung der Vorversion, Deinstallation über ein Quarantäneverzeichnis, Diagnosekontext, Log-Fallback und Fehlerisolierung der UI-Ausgabe.
- Neunundzwanzig Regressionstests einschließlich manipulierter/zusätzlicher/ausbrechender Payload-Pfade, Staging-Abbruch ohne Mutation, transienter Move-Erholung, verifiziertem Neuinstallations- und Updatefallback, begrenztem Updateabbruch, erzwungenem Fehler des zweiten Self-Tests mit Wiederherstellung der Vorversion, Deinstallation über ein Quarantäneverzeichnis, Diagnosekontext, Log-Fallback und Fehlerisolierung der UI-Ausgabe.
- WMI-freier Self-Test der produktiven EXE.
- Erstellung des Installationsordners, ZIPs, Base64-TXTs und der SHA-256-Datei.
- Rückdekodierung der Base64-TXT und Bytevergleich mit dem ZIP.