Twitch-VOD-Manager/installer.iss
xRangerDE b29e50afa1 Initial commit: Twitch VOD Manager v3.5.3
- Main application with auto-update functionality
- PyInstaller spec for building standalone EXE
- Inno Setup installer script with silent update support
- Server version.json for update checking

Features:
- Download Twitch VODs
- Auto-update with silent installation
- Settings stored in ProgramData

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 12:30:52 +01:00

71 lines
2.3 KiB
Plaintext

; Inno Setup Script for Twitch VOD Manager
; Version 3.3.5
#define MyAppName "Twitch VOD Manager"
#define MyAppVersion "3.5.3"
#define MyAppPublisher "Twitch VOD Manager"
#define MyAppExeName "Twitch_VOD_Manager.exe"
[Setup]
AppId={{8A7B9C0D-1E2F-3A4B-5C6D-7E8F9A0B1C2D}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputDir=installer_output
OutputBaseFilename=Twitch_VOD_Manager_Setup_{#MyAppVersion}
Compression=lzma2/ultra64
SolidCompression=yes
WizardStyle=modern
PrivilegesRequired=admin
[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]
Source: "dist\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
; Bei normaler Installation: Checkbox "Programm starten"
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runasoriginaluser
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
DataDir: String;
TempDir: String;
ResultCode: Integer;
begin
if CurStep = ssPostInstall then
begin
// Erstelle ProgramData Ordner fuer Settings
DataDir := ExpandConstant('{commonappdata}\Twitch_VOD_Manager');
if not DirExists(DataDir) then
CreateDir(DataDir);
// Bei Silent Install: Alte _MEI Ordner loeschen und App starten
if WizardSilent then
begin
Sleep(5000); // 5 Sekunden warten bis alte Prozesse beendet
// Alte PyInstaller _MEI Ordner loeschen
TempDir := ExpandConstant('{tmp}\..');
Exec('cmd.exe', '/c "for /d %i in ("' + TempDir + '\_MEI*") do rd /s /q "%i"" 2>nul', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
Sleep(1000); // Kurz warten nach Cleanup
Exec(ExpandConstant('{app}\{#MyAppExeName}'), '', '', SW_SHOW, ewNoWait, ResultCode);
end;
end;
end;