# Icon und Versionsinformationen für Windows-Build ## Übersicht DocuMentor unterstützt professionelle Windows-Builds mit: - **Anwendungs-Icon** in allen benötigten Größen - **Windows-Versionsinformationen** (Datei-Eigenschaften) - Automatische Integration in Build-Prozess ## Icon-System ### Automatische Icon-Generierung Das Build-Skript generiert automatisch ein Standard-Icon, falls keins vorhanden ist: ```bash uv run python build_windows.py ``` Falls `resources/icon.ico` nicht existiert, wird automatisch ein Standard-Icon mit DocuMentor-Branding erstellt. ### Manuelles Icon erstellen #### Option 1: Standard-Icon ```bash uv run python create_icon.py ``` Erstellt ein einfaches Icon mit: - Blauem Hintergrund (professionelles Blau: #2980B9) - Weißem Dokument-Symbol - "M" für Mentor (bei großen Icons) - Umgeknickter Ecke - Mehreren Größen (16×16 bis 256×256) #### Option 2: Aus eigenem PNG ```bash uv run python create_icon.py mein-logo.png ``` Konvertiert ein PNG-Bild zu einem Multi-Size Windows-Icon: - Unterstützt Transparenz - Erstellt alle benötigten Größen - Optimiert für verschiedene Bildschirmauflösungen **PNG-Anforderungen:** - Idealerweise 256×256 Pixel oder größer - Quadratisches Format - PNG oder JPEG Format - Transparenter Hintergrund empfohlen ### Icon-Größen Das ICO-Format enthält folgende Auflösungen: | Größe | Verwendung | |---------|--------------------------------------| | 256×256 | Windows 7+, Taskleiste, große Icons | | 128×128 | Windows 7+, große Icons | | 64×64 | Hohe DPI-Displays | | 48×48 | Standard Desktop-Icon | | 32×32 | Explorer Details-Ansicht | | 16×16 | Kleinstes Icon, Titelleiste | ### Wo wird das Icon verwendet? - **DocuMentor.exe** - Anwendungs-Icon - **Setup.exe** - Installer-Icon (Inno Setup) - **Desktop-Verknüpfung** - Erstellt beim Installieren - **Start-Menü** - Windows-Programmgruppe - **Taskleiste** - Beim Ausführen - **Deinstallations-Programm** - System-Einstellungen ## Versionsinformationen ### Automatische Generierung Versionsinformationen werden automatisch vom Build-Skript generiert: ```bash uv run python build_windows.py ``` ### Manuelle Generierung ```bash uv run python create_version_info.py ``` ### Inhalt der Versionsinformationen Die `version_info.txt` enthält: ``` FileVersion: 0.1.0.0 ProductVersion: 0.1.0.0 CompanyName: Ihr Name/Organisation FileDescription: Professionelle XSL-Transformations-Verwaltung und PDF-Generierung InternalName: DocuMentor LegalCopyright: © 2026 Ihr Name. Alle Rechte vorbehalten. OriginalFilename: DocuMentor.exe ProductName: DocuMentor ``` ### Version aus pyproject.toml Die Version wird automatisch aus `pyproject.toml` gelesen: ```toml [project] name = "DocuMentor" version = "0.1.0" description = "Professionelle XSL-Transformations-Verwaltung und PDF-Generierung" ``` ### Version ändern **Schritt 1:** Version in `pyproject.toml` ändern: ```toml version = "0.2.0" ``` **Schritt 2:** Version in `installer.iss` ändern (Zeile 13): ```iss #define MyAppVersion "0.2.0" ``` **Schritt 3:** Build neu ausführen: ```bash uv run python build_windows.py ``` Die Versionsinformationen werden automatisch neu generiert. ### Versionsnummern-Schema DocuMentor verwendet [Semantic Versioning](https://semver.org/lang/de/): ``` MAJOR.MINOR.PATCH 0.1.0 → Erste Beta-Version 1.0.0 → Erste stabile Version 1.1.0 → Neue Features 1.1.1 → Bugfixes 2.0.0 → Breaking Changes ``` ### Windows-Eigenschaften anzeigen Nach dem Build können Sie die Versionsinformationen in Windows anzeigen: 1. Rechtsklick auf `DocuMentor.exe` 2. **Eigenschaften** auswählen 3. Tab **Details** öffnen Dort sehen Sie: - Dateiversion - Produktversion - Beschreibung - Copyright - Produktname - Original-Dateiname ## Integration in Build-Prozess ### DocuMentor.spec ```python exe = EXE( # ... icon=str(project_root / 'resources' / 'icon.ico') if (project_root / 'resources' / 'icon.ico').exists() else None, version=str(project_root / 'version_info.txt') if (project_root / 'version_info.txt').exists() else None, ) ``` **Automatische Erkennung:** - Icon wird verwendet, falls vorhanden - Versionsinformationen werden verwendet, falls vorhanden - Build funktioniert auch ohne Icon/Version (mit Warnung) ### installer.iss ```iss SetupIconFile=dist\DocuMentor\icon.ico UninstallDisplayIcon={app}\DocuMentor.exe ``` Das Icon wird automatisch vom `build_windows.py` nach `dist/DocuMentor/` kopiert. ## Anpassungen ### Company Name / Copyright In `create_version_info.py` (Zeile ~65): ```python StringStruct('CompanyName', 'Ihr Name/Organisation'), StringStruct('LegalCopyright', '© {year} Ihr Name. Alle Rechte vorbehalten.'), ``` Ändern Sie "Ihr Name/Organisation" auf Ihren tatsächlichen Namen oder Firmennamen. ### Icon-Design Falls Sie das Standard-Icon anpassen möchten, bearbeiten Sie `create_icon.py`: **Farben ändern** (Zeile ~31): ```python bg_color = (41, 128, 185) # Blau - ändern Sie RGB-Werte ``` **Symbol ändern:** - Bearbeiten Sie die `create_default_icon()` Funktion - Oder erstellen Sie Ihr eigenes Icon in einem Grafikprogramm ## Best Practices ### Icon-Design 1. **Einfach und klar**: Funktioniert auch bei 16×16 Pixel 2. **Hoher Kontrast**: Gut lesbar auf hellem und dunklem Hintergrund 3. **Professionell**: Passend zum Business-Kontext 4. **Wiedererkennbar**: Symbolisiert die Anwendung ### Versionierung 1. **Semantische Versionierung**: MAJOR.MINOR.PATCH 2. **Vor jedem Release aktualisieren** 3. **Git-Tags verwenden**: `git tag v0.1.0` 4. **GUID beibehalten**: Nie die Inno Setup GUID ändern bei Updates! ## Troubleshooting ### Icon wird nicht angezeigt **Problem**: DocuMentor.exe zeigt kein Icon **Lösungen:** 1. Prüfen ob `resources/icon.ico` existiert 2. Build neu ausführen: `uv run python build_windows.py` 3. Windows Icon-Cache löschen und neu starten ### Versionsinformationen fehlen **Problem**: Eigenschaften → Details zeigt keine Informationen **Lösungen:** 1. Prüfen ob `version_info.txt` existiert 2. `uv run python create_version_info.py` ausführen 3. Build neu ausführen ### Pillow-Fehler beim Icon-Erstellen **Problem**: `ImportError: No module named 'PIL'` **Lösung:** ```bash uv sync --all-groups ``` Dies installiert Pillow automatisch. ## Weiterführende Informationen - **PyInstaller Icon-Dokumentation**: https://pyinstaller.org/en/stable/usage.html#icons - **Windows ICO Format**: https://en.wikipedia.org/wiki/ICO_(file_format) - **Semantic Versioning**: https://semver.org/lang/de/ - **Pillow Dokumentation**: https://pillow.readthedocs.io/