Isolate optional desktop shortcut failures
This commit is contained in:
@@ -163,6 +163,8 @@ Fehler vor der ersten Mutation werden als **Kein Rollback erforderlich** ausgewi
|
||||
|
||||
Wenn ausschließlich die atomare Staging-Umbenennung dauerhaft gesperrt bleibt, ist ein eng begrenzter Kopierfallback zulässig: Bei einer Neuinstallation muss das Ziel fehlen; bei einem Update muss die vollständige Vorversion bereits atomar ins Backup verschoben worden sein und das aktive Ziel fehlen. Jede Zieldatei wird erneut anhand des Manifests per SHA-256 geprüft, und der zweite Self-Test läuft weiterhin aus dem endgültigen Ziel. Der Fallback ist nie ein In-place-Update. Ein Teilfehler entfernt die Zielkopie und stellt beim Update das Backup wieder her. Jeder Retry, der Geltungsbereich und die verwendete Aktivierungsmethode stehen im Setup-Log.
|
||||
|
||||
Die Windows-Integration besitzt ab Version 2.2.4 eine explizite Kritikalitätsgrenze. Startmenü-Link, Uninstaller und Registry sind für einen wartbaren Maschinenzustand verpflichtend und bleiben Teil der Transaktion. Der gemeinsame Desktop-Link ist dagegen eine standardmäßig abgewählte Komfortfunktion. Sämtliche Zugriffe darauf – Eingangssnapshot, Erstellen/Entfernen, Rücklesevalidierung, Rollback und Uninstall – laufen innerhalb einer ausfallsicheren optionalen Exception-Grenze. Ein Fehler erzeugt UI- und Logwarnung sowie einen erfolgreichen Abschluss mit Warnstatus, aber keinen Anwendungsrollback. Auch eine fehlerhafte GUI-Warnungsweiterleitung ist isoliert.
|
||||
|
||||
Das dauerhafte Setup-Log enthält pro Lauf einen Kontextkopf mit Version, Betriebssystem, 32-/64-Bit-Kontext, CLR, Rechner, Identität und Elevation. Hinzu kommen Pfade, freier Speicher, Dateiversion/-größe/-SHA-256, vollständige Self-Test-Ausgaben mit Exitcode, Exception-Ketten mit HRESULT und Stacktrace sowie jeder Rollbackschritt. Stabile `SETUP-*`- und `UNINSTALL-*`-Fehlercodes ermöglichen die Zuordnung unabhängig vom lokalisierten Meldungstext. Die Aufbewahrung beträgt 90 Tage. Wenn ProgramData für die Diagnose nicht verfügbar ist, wird ein Temp-Fallback verwendet und sichtbar gemeldet; die Schaltfläche **Diagnoselogs öffnen** öffnet den regulären Ablageort.
|
||||
|
||||
Der Self-Test ist eine technische Installationsabnahme ohne BizTalk-WMI. Ein fachlicher Umgebungszustand wie fehlender WMI-Zugriff oder `Unknown` führt deshalb nicht zum Installer-Rollback. Nach erfolgreicher Installation bleiben **Diagnose** und ein Dry-run gegen das Zielsystem verpflichtende Abnahmeschritte.
|
||||
@@ -184,6 +186,7 @@ Das äußere ZIP erhält zusätzlich eine SHA-256-Datei und eine Certutil-kompat
|
||||
- Erholung nach einer vorübergehenden Rename-Sperre mit korrektem Backoff und Diagnoseereignissen.
|
||||
- Verifizierter Kopierfallback einer dauerhaft move-gesperrten Neuinstallation und eines bereits atomar gesicherten Updates.
|
||||
- Vollständiger Update-Rollback, wenn der Ziel-Self-Test nach dem Kopierfallback fehlschlägt.
|
||||
- Nichtfataler gemeinsamer Desktop-Link bei simuliertem ACL-Fehler, Zustandsabweichung und ausfallender Warnungsweiterleitung.
|
||||
- Begrenzter Abbruch eines dauerhaft move-gesperrten Updates ohne Veränderung der Vorversion.
|
||||
- Wiederherstellung der Vorversion, wenn der Self-Test nach Aktivierung fehlschlägt.
|
||||
- Deinstallation durch atomare Umbenennung des Programmverzeichnisses vor der bestmöglichen Bereinigung.
|
||||
|
||||
Reference in New Issue
Block a user