; Inno Setup Konfiguration für DocuMentor
; Erstellt eine professionelle Setup.exe für Windows
;
; Installation von Inno Setup: https://jrsoftware.org/isdl.php
;
; WICHTIG: Vor dem ersten Build GUID generieren!
;   python -c "import uuid; print(f'{{{{' + str(uuid.uuid4()).upper() + '}}}}')"
;   Ergebnis in AppId unten einfügen
;
; Build-Befehl: iscc installer.iss

#define MyAppName "DocuMentor"
#define MyAppVersion "0.1.0"
#define MyAppPublisher "Ihr Name/Organisation"
#define MyAppURL "https://github.com/yourusername/xsl-validator"
#define MyAppExeName "DocuMentor.exe"

[Setup]
; Basis-Informationen
; WICHTIG: Ersetzen Sie die GUID mit einer eigenen generierten GUID!
; AppId={{BEISPIEL-GUID-HIER-EINFÜGEN}}
AppId={{A1B2C3D4-E5F6-4789-ABCD-EF0123456789}}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}

; Installation
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes

; Output
OutputDir=dist\installer
OutputBaseFilename=DocuMentor-Setup-{#MyAppVersion}
SetupIconFile=dist\DocuMentor\icon.ico
UninstallDisplayIcon={app}\{#MyAppExeName}

; Kompression
Compression=lzma
SolidCompression=yes

; Moderne UI
WizardStyle=modern

; Rechte (normal für User-Installation, admin für System-weite Installation)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog

[Languages]
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
; Alle Dateien aus dem PyInstaller-Build
Source: "dist\DocuMentor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[Messages]
; Deutsche Anpassungen
german.WelcomeLabel2=Dies wird [name/ver] auf Ihrem Computer installieren.%n%nBitte stellen Sie sicher, dass folgende externe Tools installiert sind:%n• Java Runtime Environment (JRE)%n• Apache FOP%n• Saxon XSLT-Prozessor%n• diff-pdf
