add: Installer funktionen mit auto Update check

This commit is contained in:
Rob committed 2026-05-08 14:12:03 +02:00
1 parent 102b485794
commit 1fb6444444
8 files changed
+422 -10

No files matched your search

+99
View File
@@ -0,0 +1,99 @@
; Inno Setup Script fuer AnwesenheitPDF
; Compiler: Inno Setup 6.x (https://jrsoftware.org/isinfo.php)
;
; Aufruf durch build.bat:
; iscc.exe /DMyAppVersion=1.0.1 installer\AnwesenheitPDF.iss
;
; Ausgabe: dist\AnwesenheitPDF-Setup-{version}.exe
#ifndef MyAppVersion
#define MyAppVersion "0.0.0"
#endif
#define MyAppName "AnwesenheitPDF"
#define MyAppPublisher "SAB Anwesenheitslisten"
#define MyAppExeName "AnwesenheitPDF.exe"
#define MyAppID "{{A3F2C1D7-84BE-4E9A-B5D0-2C7F3A1E9B46}"
[Setup]
; Eindeutige App-ID – niemals aendern (sonst gelten Updates als Neuinstallation)
AppId={#MyAppID}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppComments=Anwesenheitslisten aus Excel-Daten als PDF generieren
; Installations-Zielverzeichnis (Programme-Ordner)
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
; Installer-Ausgabe
OutputDir=..\dist
OutputBaseFilename=AnwesenheitPDF-Setup-{#MyAppVersion}
; Komprimierung
Compression=lzma2/ultra64
SolidCompression=yes
LZMAUseSeparateProcess=yes
; Erscheinungsbild
WizardStyle=modern
SetupIconFile=..\assets\icon.ico
UninstallDisplayIcon={app}\{#MyAppExeName}
; Berechtigungen: Admin erforderlich fuer Installation in Programme-Ordner
PrivilegesRequired=admin
PrivilegesRequiredOverridesAllowed=dialog
; Mindest-Windows-Version: Windows 10 (10.0)
MinVersion=10.0
; Installer kann direkt vom Netzlaufwerk (SMB-Share) ausgefuehrt werden
; (kein lokales Entpacken des Installers noetig)
AllowNetworkDrive=yes
AllowUNCPath=yes
; Versionsinformation fuer die EXE-Eigenschaften
VersionInfoVersion={#MyAppVersion}
VersionInfoCompany={#MyAppPublisher}
VersionInfoDescription={#MyAppName} Setup
VersionInfoProductName={#MyAppName}
VersionInfoProductVersion={#MyAppVersion}
[Languages]
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
[Tasks]
Name: "startmenuicon"; \
Description: "Startmenü-Einträge erstellen"; \
GroupDescription: "Startmenü:"
[Files]
; Gesamten PyInstaller-Output in das Installationsverzeichnis kopieren
Source: "..\dist\AnwesenheitPDF\*"; \
DestDir: "{app}"; \
Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
; Startmenü-Eintrag (nur wenn Task ausgewaehlt)
Name: "{group}\{#MyAppName}"; \
Filename: "{app}\{#MyAppExeName}"; \
Comment: "Anwesenheitslisten als PDF generieren"; \
Tasks: startmenuicon
; Startmenü: Uninstaller (nur wenn Task ausgewaehlt)
Name: "{group}\{#MyAppName} deinstallieren"; \
Filename: "{uninstallexe}"; \
Tasks: startmenuicon
[Run]
; Optionaler Start nach der Installation
Filename: "{app}\{#MyAppExeName}"; \
Description: "{#MyAppName} jetzt starten"; \
Flags: nowait postinstall skipifsilent
[UninstallDelete]
; Beim Deinstallieren: nur generierte Dateien loeschen, keine Nutzerdaten
Type: files; Name: "{app}\*.log"