Ursache: Der Installer beendete laufende Playtube-Prozesse per "taskkill /F /T". Der
Updater startet ihn aus Playtube.exe heraus, er ist also ein Kindprozess - solange
Playtube noch beendet wurde, schoss "/T" den Installer selbst mit ab, bevor er etwas
installiert hatte (kein Kopieren, kein Neustart, nur der Download blieb im Temp-Ordner).
- playtube.iss: taskkill ohne /T; Setup wartet per /WAITPID=<PID> (max. 20 s) darauf, dass
sich die alte App selbst beendet; uebrig gebliebene QtWebEngine-Prozesse aus dem
Installationsordner werden gezielt nach Pfad beendet
- updater: uebergibt /WAITPID und /LOG (Setup-Protokoll nach %TEMP%); robocopy im
ZIP-Fallback mit /R:3 /W:2, damit gesperrte Dateien das Update nicht endlos haengen
- mainwindow: hartes Beenden nach 8 s, falls Qt/QtWebEngine beim Beenden haengt
(sonst wartet der Update-Helfer ewig und die alte Version bleibt laufen)
- Inno-Setup-Installer (packaging/playtube.iss): installiert pro Benutzer nach
%LOCALAPPDATA%\Programs\Playtube, feste AppId -> jede neue Version ueberschreibt die
vorhandene Installation an Ort und Stelle, raeumt den alten _internal-Ordner auf und
beendet laufende Playtube-Prozesse vor dem Kopieren
- Updater: installierte Kopie nimmt das kleine Patch (Versionseintrag in "Apps &
Features" wird nachgezogen), portable Kopie wechselt per stillem Setup in die
regulaere Installation; Patch nur bei passender PySide6-Version (steht im Dateinamen),
sonst Setup; Aufraeumen des heruntergeladenen Installers
- Einzelinstanz-Schutz (playtube/single_instance.py): zwei Prozesse auf demselben
Browser-Profil liessen auf YouTube alle Icons verschwinden; ein zweiter Start holt jetzt
das laufende Fenster nach vorn (auch .play-Patchdateien werden weitergereicht)
- build.ps1 baut den Installer mit, Release-Pipeline haengt ihn an jedes Release
- README: Installation, Update-Ablauf, Troubleshooting fuer fehlende Icons