diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 240b2d7..9e04f5d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,9 +35,22 @@ jobs: Copy-Item "dist/Real-Debrid-Downloader.exe" "release/Real-Debrid-Downloader.exe" Compress-Archive -Path "release/*" -DestinationPath "Real-Debrid-Downloader-win64.zip" -Force + - name: Install Inno Setup + shell: pwsh + run: | + choco install innosetup --no-progress -y + + - name: Build installer + shell: pwsh + run: | + $version = "${{ github.ref_name }}".TrimStart('v') + & "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "/DMyAppVersion=$version" "/DMySourceExe=dist\\Real-Debrid-Downloader.exe" "/DMyOutputDir=release" "installer\\RealDebridDownloader.iss" + - name: Publish GitHub Release uses: softprops/action-gh-release@v2 with: - files: Real-Debrid-Downloader-win64.zip + files: | + Real-Debrid-Downloader-win64.zip + release/Real-Debrid-Downloader-Setup-*.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index fb330be..e99f928 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,13 @@ Danach liegt die EXE in `dist/`. - Workflow-Datei: `.github/workflows/release.yml` - Bei Tag-Push wie `v1.0.1` wird automatisch eine Windows-EXE gebaut - Release-Asset fuer Auto-Update: `Real-Debrid-Downloader-win64.zip` +- Zusaetzlich wird ein Installer gebaut: `Real-Debrid-Downloader-Setup-.exe` + +## Auto-Installer + +- Im GitHub Release findest du direkt die Setup-Datei (`...Setup-.exe`) +- Setup installiert die App unter `Programme/Real-Debrid Downloader` +- Optional erstellt Setup eine Desktop-Verknuepfung Beispiel: diff --git a/installer/RealDebridDownloader.iss b/installer/RealDebridDownloader.iss new file mode 100644 index 0000000..2b64e1d --- /dev/null +++ b/installer/RealDebridDownloader.iss @@ -0,0 +1,47 @@ +#define MyAppName "Real-Debrid Downloader" +#define MyAppExeName "Real-Debrid-Downloader.exe" + +#ifndef MyAppVersion + #define MyAppVersion "1.0.0" +#endif + +#ifndef MySourceExe + #define MySourceExe "dist\\Real-Debrid-Downloader.exe" +#endif + +#ifndef MyOutputDir + #define MyOutputDir "release" +#endif + +[Setup] +AppId={{C0E95B39-389E-4D2C-8E1E-12A44E8AE8E0} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppPublisher=Sucukdeluxe +DefaultDirName={autopf}\{#MyAppName} +DefaultGroupName={#MyAppName} +OutputDir={#MyOutputDir} +OutputBaseFilename=Real-Debrid-Downloader-Setup-{#MyAppVersion} +Compression=lzma +SolidCompression=yes +WizardStyle=modern +PrivilegesRequired=lowest +ArchitecturesInstallIn64BitMode=x64compatible +UninstallDisplayIcon={app}\{#MyAppExeName} + +[Languages] +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "Desktop-Verknuepfung erstellen"; GroupDescription: "Zusaetzliche Aufgaben:"; Flags: unchecked + +[Files] +Source: "{#MySourceExe}"; DestDir: "{app}"; Flags: ignoreversion + +[Icons] +Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{#MyAppName} starten"; Flags: nowait postinstall skipifsilent