- PyInstaller baut unter Windows zusätzlich die Ordner-Variante dist/Provisionsmanager/ (schnellerer Start); onefile-.exe und .zip bleiben, Linux unverändert - build/installer.iss: ohne Admin nach %LOCALAPPDATA%\Programs\Provisionsmanager, Startmenü, optional Desktop, deutsch, feste AppId, CloseApplications, Benutzerdaten in %APPDATA%\Provisionsmanager95 bleiben bei Deinstallation erhalten - build_windows.sh: Inno Setup 6.7.3 (SHA256 geprüft) unter Wine installieren, Setup bauen, still installieren, Selbsttest der installierten .exe, still deinstallieren und prüfen - Pipeline: Setup als Artefakt und am Release; README-Abschnitt Installation Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 lines
1.8 KiB
Plaintext
46 lines
1.8 KiB
Plaintext
; Inno-Setup-Skript: Installation pro Benutzer (ohne Admin-Rechte) aus dist/Provisionsmanager/
|
||
; Aufruf (siehe build/build_windows.sh): ISCC.exe /DAppVersion=1.2.3 build\installer.iss
|
||
; Ergebnis: dist/Provisionsmanager-Setup-<version>.exe
|
||
#ifndef AppVersion
|
||
#error AppVersion fehlt – ISCC mit /DAppVersion=<version> aufrufen
|
||
#endif
|
||
|
||
[Setup]
|
||
; AppId nie ändern: daran erkennt Windows bei Updates die bestehende Installation
|
||
AppId={{79CF85D1-16DC-4FD5-924B-B6C9AFB90309}
|
||
AppName=Provisions-Manager
|
||
AppVersion={#AppVersion}
|
||
AppPublisher=Handy-Insel Miesbach
|
||
PrivilegesRequired=lowest
|
||
DefaultDirName={localappdata}\Programs\Provisionsmanager
|
||
DefaultGroupName=Provisions-Manager
|
||
DisableProgramGroupPage=yes
|
||
UninstallDisplayIcon={app}\Provisionsmanager.exe
|
||
SetupIconFile=..\assets\app.ico
|
||
OutputDir=..\dist
|
||
OutputBaseFilename=Provisionsmanager-Setup-{#AppVersion}
|
||
CloseApplications=yes
|
||
WizardStyle=modern
|
||
; Benutzerdaten liegen in %APPDATA%\Provisionsmanager95 – das Setup fasst sie nicht an,
|
||
; der Deinstaller entfernt nur, was er selbst installiert hat.
|
||
|
||
[Languages]
|
||
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
|
||
|
||
[Tasks]
|
||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||
|
||
[InstallDelete]
|
||
; Update: Bibliotheken der alten Version entfernen, damit keine veralteten Dateien liegen bleiben
|
||
Type: filesandordirs; Name: "{app}\_internal"
|
||
|
||
[Files]
|
||
Source: "..\dist\Provisionsmanager\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||
|
||
[Icons]
|
||
Name: "{autoprograms}\Provisions-Manager"; Filename: "{app}\Provisionsmanager.exe"
|
||
Name: "{autodesktop}\Provisions-Manager"; Filename: "{app}\Provisionsmanager.exe"; Tasks: desktopicon
|
||
|
||
[Run]
|
||
Filename: "{app}\Provisionsmanager.exe"; Description: "{cm:LaunchProgram,Provisions-Manager}"; Flags: nowait postinstall skipifsilent
|