Windows-Setup (Inno Setup): Installation pro Benutzer, Installer-Test im Build
- 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>
This commit is contained in:
1 parent
7b9a2acec0
commit
ec99042569
6 files changed
+130
-17
No files matched your search
@@ -0,0 +1,45 @@
|
||||
; 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
|
||||
Reference in new issue
Block a user