Isolate optional desktop shortcut failures

This commit is contained in:
2026-08-24 13:02:58 +02:00
parent 3219c3f1bc
commit 3b4a621cd3
16 changed files with 311 additions and 45 deletions
+10 -2
View File
@@ -30,7 +30,7 @@ Der Hash aus `certutil` muss exakt dem Wert in der SHA-256-Datei entsprechen. Da
1. ZIP vollständig entpacken; `Setup.exe`, `application.manifest` und der Ordner `application` müssen nebeneinander liegen.
2. `Setup.exe` starten und die UAC-Abfrage bestätigen.
3. Optional die Desktop-Verknüpfung abwählen.
3. Die standardmäßig abgewählte, optionale Desktop-Verknüpfung nur bei Bedarf für alle Benutzer aktivieren.
4. **Installieren** wählen.
5. Den Abschluss und den Pfad des Diagnoselogs prüfen.
6. Die Anwendung starten, **Dry run** aktiviert lassen und zuerst **Diagnose** ausführen.
@@ -61,6 +61,12 @@ Scheitern Kopie, Hashprüfung oder Ziel-Self-Test, entfernt das Setup das teilwe
Schlägt ein Schritt nach Beginn der Umschaltung fehl, entfernt das Setup die neue Version und stellt das Backup wieder her. Tritt der Fehler bereits bei Paketprüfung oder Staging auf, meldet das Setup ausdrücklich **Kein Rollback erforderlich**, weil die aktive Installation unverändert blieb. Staging und Backup werden anschließend bestmöglich bereinigt. Kann ein nicht mehr benötigtes temporäres Verzeichnis wegen einer Dateisperre nicht gelöscht werden, bleibt die erfolgreiche Installation aktiv und das Log kennzeichnet den Abschluss als `success_with_temporary_cleanup_warning`.
### Optionale Desktop-Verknüpfung für alle Benutzer
Der gemeinsame Desktop-Link unter `%PUBLIC%\Desktop` ist eine Komfortfunktion und ab Version 2.2.4 standardmäßig abgewählt. Fehlende Rechte, eine WSH-/COM-Sperre, eine abweichende Linkvalidierung oder ein Fehler beim Sichern, Entfernen beziehungsweise Wiederherstellen dieses optionalen Links dürfen Installation, Update, Rollback und Deinstallation nicht abbrechen. Das Setup zeigt eine Warnung, schreibt die vollständige Exception ins Diagnoselog und setzt die Kernoperation fort.
Startmenü-Link, Uninstaller unter ProgramData und Uninstall-Registry bleiben verpflichtende Windows-Integration. Scheitert einer dieser Bestandteile, wird die Installation weiterhin als fehlgeschlagen behandelt und die vorherige Version vollständig wiederhergestellt. Der Installer verändert keine ACLs und umgeht keine Sicherheitsrichtlinie; bei einem Desktop-Link-Fehler bleibt der Link lediglich im tatsächlich erreichbaren Zustand.
## Installer-Diagnose
Jeder Installations-, Update- und Deinstallationslauf erzeugt ein eigenes UTF-8-Log. Über **Diagnoselogs öffnen** kann der Ordner direkt aus dem Setup geöffnet werden. Die Logs werden 90 Tage aufbewahrt. Ist ProgramData nicht beschreibbar, versucht das Setup ein Fallback unter `%TEMP%\BizTalkPlatformManagementTool\InstallerLogs` und zeigt dessen Pfad an. Kann auch dort kein Log erzeugt werden, bleibt der eigentliche Fehler in der Setup-Meldung sichtbar.
@@ -81,6 +87,8 @@ Das Log enthält Betriebssystem, Prozess-/OS-Bitness, .NET-Version, Rechner, Win
Bei einer gesperrten Verzeichnisverschiebung erscheinen `event=directory_move_retry` und nach einer Erholung `event=directory_move_recovered`. Ein Kopierfallback protokolliert `event=activation_fallback_started`, `event=activation_fallback_complete`, den Geltungsbereich `scope=new_install` oder `scope=update_after_backup` und im Abschluss `activation_method=verified_copy_fallback`. Kann bei einem Update bereits das Backup nicht erzeugt werden, endet es weiterhin mit `SETUP-ACTIVATION`, bevor die aktive Version verändert wurde.
Ein Fehler des gemeinsamen Desktop-Links erscheint als `event=optional_windows_integration_warning` mit einer Rolle wie `desktop_shortcut_snapshot`, `desktop_shortcut_create`, `desktop_shortcut_remove`, `desktop_shortcut_validate`, `desktop_shortcut_rollback_restore` oder `desktop_shortcut_uninstall_remove`. Der erfolgreiche Gesamtabschluss enthält dann `optional_desktop_shortcut_warning=True` und beispielsweise `result=success_with_optional_desktop_shortcut_warning`; er ist kein Rollback und kein fehlgeschlagenes Setup.
Für eine Supportanalyse bitte sichern:
1. Vollständige Fehlermeldung einschließlich Fehlercode und Phase.
@@ -91,7 +99,7 @@ Ein erfolgreicher Installer-Self-Test bestätigt Paket, Programmstart und lokale
## Emergency Restore nach einem Teilabbruch
Version 2.2.3 kann einen Wiederanlauf allein aus einer erhaltenen `before.json` vorbereiten und ausführen. Eine mit Version 2.1.3 erzeugte Datei ist kompatibel; zusätzliche Plan- oder Nachher-Dateien des fehlgeschlagenen Laufs sind nicht erforderlich. Auch ein Fehler der GUI-Logweiterleitung ist vom fachlichen Executor isoliert und kann die späteren Planschritte nicht abbrechen.
Version 2.2.4 kann einen Wiederanlauf allein aus einer erhaltenen `before.json` vorbereiten und ausführen. Eine mit Version 2.1.3 erzeugte Datei ist kompatibel; zusätzliche Plan- oder Nachher-Dateien des fehlgeschlagenen Laufs sind nicht erforderlich. Auch ein Fehler der GUI-Logweiterleitung ist vom fachlichen Executor isoliert und kann die späteren Planschritte nicht abbrechen.
1. Die erhaltene `before.json` außerhalb des Arbeitsverzeichnisses zusätzlich sichern.
2. Anwendung als Administrator starten und denselben Zielserver wählen, der im Snapshot gespeichert ist.