Review & Optimierung: MSI-Installer (Windows-Packaging) prüfen und stabilisieren #65

Closed
opened 2026-04-29 06:38:45 +02:00 by marcus · 1 comment
Owner

Aktueller Stand (ermittelt per Code-Analyse)

Der MSI-Installer ist bereits vollständig implementiert. Der Build läuft über das Maven-Profil release im Modul pdf-umbenenner-packaging.

Build-Kommando:

.\mvnw.cmd clean package -P release -pl pdf-umbenenner-packaging --also-make -DskipTests

Plugin: org.panteleyev:jpackage-maven-plugin v1.6.0
Ausgabe: PDF-KI-Renamer-2.5.0.msi unter pdf-umbenenner-packaging/target/dist/
App-Version: 2.5.0 (bewusst von project.version = 0.0.1-SNAPSHOT entkoppelt)


🔴 Kritische Baustellen – müssen vor Release behoben werden

1. Icon ist ein 1×1-Pixel-Platzhalter

Die Datei src/main/packaging/icon.ico ist laut README-icon.md ein valides, aber sinnloses 1×1-Pixel-Icon.
→ Vor Release durch ein echtes Anwendungsicon ersetzen. Sonst zeigt das Startmenü ein leeres/defektes Icon.

2. Modul-Liste (addModules) ist veraltet

Die Liste der Java-Module wurde per jdeps auf einem älteren Stand ermittelt und ist manuell gepflegt.
Seit V2.9 wurden neue Bibliotheken hinzugefügt (PDFViewFX, jai-imageio-jpeg2000, PDFBox).
jdeps auf dem aktuellen Shade-JAR erneut ausführen und addModules aktualisieren.
→ Fehlt ein Modul, führt das zu Laufzeitfehlern im installierten MSI (während das Shade-JAR noch funktioniert).

3. App-Version ist auf 2.5.0 hardcoded

app.version im Packaging-Modul ist manuell auf 2.5.0 gesetzt, entkoppelt von project.version (0.0.1-SNAPSHOT).
→ Für V3.0 muss die Version konsistent auf den richtigen Wert gebracht werden.
→ Hängt mit Issue #67 (Versionierung) zusammen.


🟡 Test & Verifikation

  • MSI auf der Entwicklungsmaschine bauen (WiX Toolset 3.x im PATH erforderlich)
  • Installer auf sauberer Windows-Umgebung testen:
    • Installation nach C:\Program Files\PDF KI Renamer\
    • GUI-Start über Startmenü-Eintrag
    • PDF-KI-Renamer-GUI.bat startet korrekt
    • PDF-KI-Renamer.bat für headless-Betrieb via Task Scheduler
  • Desktop-Shortcut prüfenwinShortcut=true + winShortcutPrompt=false gesetzt; ob das tatsächlich einen Desktop-Shortcut erzeugt, ist unklar → im Test verifizieren, sonst in betrieb.md als Einschränkung dokumentieren
  • Deinstallation über „Programme und Features" sauber?
  • SmartScreen-Warnung (kein Code-Signing) dokumentiert?

🟢 Dokumentation

  • betrieb.md: application.example.properties liegt nach Installation im Installationsverzeichnis und muss manuell nach C:\ProgramData\PDF KI Renamer\config\ kopiert und angepasst werden
  • Headless-Beispielaufruf mit --config in betrieb.md
  • CLAUDE.md MSI-Build-Kommando aktuell?

Technische Details (zur Referenz)

Parameter Wert
Installationsverzeichnis C:\Program Files\PDF KI Renamer\
Startmenü-Gruppe PDF KI Renamer
Verzeichniswahl im Installer ja (winDirChooser=true)
JVM-Optionen -Xms64m -Xmx512m
Bundled JRE ja (jpackage bundelt JRE automatisch)
Main-JAR pdf-umbenenner-bootstrap-0.0.1-SNAPSHOT.jar
Konfigurationsinstallation manuell – kein automatisches ProgramData-Setup

Nicht in diesem Issue

  • Code-Signing des MSI
  • Upgrade-Logik (automatisches Deinstallieren alter Versionen)
  • Änderungen an fachlicher Logik oder GUI
## Aktueller Stand (ermittelt per Code-Analyse) Der MSI-Installer ist bereits vollständig implementiert. Der Build läuft über das Maven-Profil `release` im Modul `pdf-umbenenner-packaging`. **Build-Kommando:** ``` .\mvnw.cmd clean package -P release -pl pdf-umbenenner-packaging --also-make -DskipTests ``` **Plugin:** `org.panteleyev:jpackage-maven-plugin` v1.6.0 **Ausgabe:** `PDF-KI-Renamer-2.5.0.msi` unter `pdf-umbenenner-packaging/target/dist/` **App-Version:** `2.5.0` (bewusst von `project.version` = `0.0.1-SNAPSHOT` entkoppelt) --- ## 🔴 Kritische Baustellen – müssen vor Release behoben werden ### 1. Icon ist ein 1×1-Pixel-Platzhalter Die Datei `src/main/packaging/icon.ico` ist laut `README-icon.md` ein valides, aber sinnloses 1×1-Pixel-Icon. → Vor Release durch ein echtes Anwendungsicon ersetzen. Sonst zeigt das Startmenü ein leeres/defektes Icon. ### 2. Modul-Liste (`addModules`) ist veraltet Die Liste der Java-Module wurde per `jdeps` auf einem älteren Stand ermittelt und ist manuell gepflegt. Seit V2.9 wurden neue Bibliotheken hinzugefügt (PDFViewFX, jai-imageio-jpeg2000, PDFBox). → `jdeps` auf dem aktuellen Shade-JAR erneut ausführen und `addModules` aktualisieren. → Fehlt ein Modul, führt das zu Laufzeitfehlern im installierten MSI (während das Shade-JAR noch funktioniert). ### 3. App-Version ist auf 2.5.0 hardcoded `app.version` im Packaging-Modul ist manuell auf `2.5.0` gesetzt, entkoppelt von `project.version` (`0.0.1-SNAPSHOT`). → Für V3.0 muss die Version konsistent auf den richtigen Wert gebracht werden. → Hängt mit Issue #67 (Versionierung) zusammen. --- ## 🟡 Test & Verifikation - [ ] MSI auf der Entwicklungsmaschine bauen (WiX Toolset 3.x im PATH erforderlich) - [ ] Installer auf sauberer Windows-Umgebung testen: - Installation nach `C:\Program Files\PDF KI Renamer\` - GUI-Start über Startmenü-Eintrag - `PDF-KI-Renamer-GUI.bat` startet korrekt - `PDF-KI-Renamer.bat` für headless-Betrieb via Task Scheduler - [ ] **Desktop-Shortcut prüfen** – `winShortcut=true` + `winShortcutPrompt=false` gesetzt; ob das tatsächlich einen Desktop-Shortcut erzeugt, ist unklar → im Test verifizieren, sonst in `betrieb.md` als Einschränkung dokumentieren - [ ] Deinstallation über „Programme und Features" sauber? - [ ] SmartScreen-Warnung (kein Code-Signing) dokumentiert? --- ## 🟢 Dokumentation - [ ] `betrieb.md`: `application.example.properties` liegt nach Installation im Installationsverzeichnis und muss **manuell** nach `C:\ProgramData\PDF KI Renamer\config\` kopiert und angepasst werden - [ ] Headless-Beispielaufruf mit `--config` in `betrieb.md` - [ ] `CLAUDE.md` MSI-Build-Kommando aktuell? --- ## Technische Details (zur Referenz) | Parameter | Wert | |---|---| | Installationsverzeichnis | `C:\Program Files\PDF KI Renamer\` | | Startmenü-Gruppe | `PDF KI Renamer` | | Verzeichniswahl im Installer | ja (`winDirChooser=true`) | | JVM-Optionen | `-Xms64m -Xmx512m` | | Bundled JRE | ja (jpackage bundelt JRE automatisch) | | Main-JAR | `pdf-umbenenner-bootstrap-0.0.1-SNAPSHOT.jar` | | Konfigurationsinstallation | **manuell** – kein automatisches ProgramData-Setup | --- ## Nicht in diesem Issue - Code-Signing des MSI - Upgrade-Logik (automatisches Deinstallieren alter Versionen) - Änderungen an fachlicher Logik oder GUI
marcus changed title from Review & Optimierung: MSI-Installer (Windows-Packaging) pruefen und stabilisieren to Review & Optimierung: MSI-Installer (Windows-Packaging) prüfen und stabilisieren 2026-04-29 06:45:16 +02:00
Author
Owner

Umgesetzt in V3.0 (Vorbereitung): addModules aktualisiert, winUpgradeUuid=EA8D0149-1401-4D3D-A98D-A2B98DAE5495 gesetzt, app.version auf ${revision}. MSI-Build und Testmatrix: manuell auf Windows-Maschine ausstehend. Commit 51d6168.

Umgesetzt in V3.0 (Vorbereitung): addModules aktualisiert, winUpgradeUuid=EA8D0149-1401-4D3D-A98D-A2B98DAE5495 gesetzt, app.version auf ${revision}. MSI-Build und Testmatrix: manuell auf Windows-Maschine ausstehend. Commit 51d6168.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcus/pdf-umbenenner#65