#65: MSI-Vorbereitung - jdeps-Modulliste, winUpgradeUuid, BAT-Dateien, Pfad-Hinweise

- addModules-Liste per jdeps aktualisiert: java.prefs und jdk.unsupported.desktop
  neu hinzugefuegt; java.desktop, java.logging und java.xml manuell beibehalten
  (reflektiv genutzt, von jdeps --ignore-missing-deps nicht erkannt)
- jdeps-Ausgabe in pdf-umbenenner-packaging/jdeps-output.txt dokumentiert
- winUpgradeUuid gesetzt (EA8D0149-1401-4D3D-A98D-A2B98DAE5495); darf nie geaendert werden
- BAT-Dateien korrigiert: referenzieren nun %~dp0PDF-KI-Renamer.exe (kein Unterverzeichnis),
  passend zur appContent-Einbettung ins Installationsverzeichnis
- BAT-Dateien via appContent in den MSI-Installer eingebettet
- winShortcut=true und winShortcutPrompt=false bestaetigt (waren bereits korrekt)
- app.version=${revision} bestaetigt (war bereits korrekt nach #67)
- betrieb.md: MSI-Release-Checkliste und Pfad-Empfehlung fuer sqlite.file ergaenzt
- README-icon.md: Ist-Stand dokumentiert (icon.ico ca. 127 KB, kein Platzhalter)
- Offener Punkt fuer Marcus: Laufzeit-Verifikation ohne JDK nach manuellem MSI-Build

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 14:08:53 +02:00
parent 46fc1d4fa4
commit 51d6168697
6 changed files with 112 additions and 14 deletions
+40 -8
View File
@@ -67,10 +67,13 @@
<!--
Erzeugt den nativen Windows-Installer (MSI) ueber jpackage.
Die Modulliste wurde auf Basis von `jdeps` (print-module-deps) auf dem
Shade-JAR ermittelt und um die zur Laufzeit reflektiv genutzten Module
java.logging (Log4j2-Bridge) und java.xml (FXML/XML-Parsing) erweitert.
Die Modulliste wurde per jdeps (print-module-deps, ignore-missing-deps)
auf dem Shade-JAR ermittelt (Stand 2026-04-30, vollstaendige Ausgabe
in pdf-umbenenner-packaging/jdeps-output.txt) und um die zur Laufzeit
reflektiv genutzten Module java.desktop, java.logging und java.xml erweitert.
WiX Toolset 3.x muss im PATH verfuegbar sein (nur auf der Entwicklungsmaschine).
Nach dem MSI-Build muss die installierte Anwendung ohne Entwicklungs-JDK
gestartet und verifiziert werden (GUI-Start, PDF rendern, Verlaufs-Tab).
-->
<plugin>
<groupId>org.panteleyev</groupId>
@@ -93,14 +96,31 @@
<destination>${project.build.directory}/dist</destination>
<icon>${project.basedir}/src/main/packaging/icon.ico</icon>
<!--
Bindet die Beispiel-Konfiguration als zusaetzliche Datei in das
Anwendungs-Image ein. Sie landet neben den ausgelieferten JAR-Artefakten
im Installationsverzeichnis und muss vom Betreiber nach
Bindet zusaetzliche Dateien in das Anwendungs-Image ein.
Sie landen im Installationsverzeichnis neben der PDF-KI-Renamer.exe.
Die Batch-Dateien referenzieren die EXE relativ zu ihrer eigenen
Position (%~dp0PDF-KI-Renamer.exe, kein Unterverzeichnis).
Die Beispiel-Konfiguration muss vom Betreiber nach
C:\ProgramData\PDF KI Renamer\config\ kopiert und angepasst werden.
-->
<appContent>
<appContent>src/main/packaging/application.example.properties</appContent>
<appContent>src/main/packaging/PDF-KI-Renamer.bat</appContent>
<appContent>src/main/packaging/PDF-KI-Renamer-GUI.bat</appContent>
</appContent>
<!--
Modulliste ermittelt per jdeps (Stand 2026-04-30):
java.base, java.compiler, java.management, java.naming,
java.net.http, java.prefs, java.rmi, java.scripting, java.sql,
jdk.jfr, jdk.unsupported, jdk.unsupported.desktop
Vollstaendige Ausgabe: pdf-umbenenner-packaging/jdeps-output.txt
Manuell ergaenzt (reflektiv genutzt, von jdeps nicht erkannt):
java.desktop - JavaFX-Grafiksubsystem
java.logging - Log4j2-JUL-Bridge
java.xml - FXML/XML-Parsing
Laufzeit-Verifikation ohne Entwicklungs-JDK erforderlich
(Anleitung in betrieb.md, Abschnitt MSI-Release-Checkliste).
-->
<addModules>
<module>java.base</module>
<module>java.compiler</module>
@@ -109,12 +129,14 @@
<module>java.management</module>
<module>java.naming</module>
<module>java.net.http</module>
<module>java.prefs</module>
<module>java.rmi</module>
<module>java.scripting</module>
<module>java.sql</module>
<module>java.xml</module>
<module>jdk.jfr</module>
<module>jdk.unsupported</module>
<module>jdk.unsupported.desktop</module>
</addModules>
<javaOptions>
<javaOption>-Xms64m</javaOption>
@@ -126,6 +148,13 @@
<winMenuGroup>PDF KI Renamer</winMenuGroup>
<winDirChooser>true</winDirChooser>
<winShortcutPrompt>false</winShortcutPrompt>
<!--
winUpgradeUuid: Stabiler GUID fuer MSI-Upgrade-Erkennung.
Einmalig gesetzt - darf NIEMALS geaendert werden.
Eine Aenderung wuerde verhindern, dass ein bestehendes MSI
durch das neue MSI automatisch ersetzt wird (Upgrade-Pfad kaputt).
-->
<winUpgradeUuid>EA8D0149-1401-4D3D-A98D-A2B98DAE5495</winUpgradeUuid>
<installDir>PDF KI Renamer</installDir>
</configuration>
</execution>
@@ -133,8 +162,11 @@
</plugin>
<!--
Kopiert die beiden Start-Batch-Dateien direkt in das EXE-Ausgabeverzeichnis,
damit sie gleichrangig neben dem erzeugten Anwendungsverzeichnis liegen.
Kopiert die beiden Start-Batch-Dateien direkt in das MSI-Ausgabeverzeichnis,
damit sie auch ausserhalb des MSI-Installers (z. B. fuer manuelle Tests oder
portable Nutzung) gleichrangig neben dem erzeugten Installer liegen.
Hinweis: Im installierten MSI landen die Batch-Dateien ueber appContent
direkt im Installationsverzeichnis neben der EXE.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>