Skip to content

Commit 3bfee4d

Browse files
committed
Add Windows installer
1 parent 830c883 commit 3bfee4d

File tree

3 files changed

+87
-8
lines changed

3 files changed

+87
-8
lines changed

.github/workflows/build.yaml

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ on:
66
- master
77

88
jobs:
9-
package:
10-
strategy:
11-
matrix:
12-
os:
13-
- macos-latest
14-
- windows-latest
15-
name: Package (${{ matrix.os }})
9+
package_macos:
10+
name: Package (macos-latest)
1611
uses: ./.github/workflows/build-package.yaml
1712
with:
18-
os: ${{ matrix.os }}
13+
os: macos-latest
14+
15+
package_windows:
16+
name: Package (windows-latest)
17+
uses: ./.github/workflows/build-package.yaml
18+
with:
19+
os: windows-latest
1920

2021
package_linux:
2122
name: Package (ubuntu-latest)
@@ -50,3 +51,25 @@ jobs:
5051
with:
5152
path: rpm/RPMS/x86_64/LargeCsvReader-${{ env.APP_VERSION }}-1.x86_64.rpm
5253
name: rpm
54+
build_win_installer:
55+
name: Build Windows installer
56+
needs:
57+
- package_windows
58+
runs-on: windows-latest
59+
steps:
60+
- name: Checkout Code
61+
uses: actions/checkout@v4
62+
- name: Download built
63+
uses: actions/download-artifact@v4
64+
with:
65+
name: windows-latest
66+
- name: Move file
67+
run: mv LargeCsvReader.exe windows
68+
- name: Create Windows setup
69+
run: iscc setup.iss
70+
working-directory: windows
71+
- name: Upload artifact
72+
uses: actions/upload-artifact@v4
73+
with:
74+
path: windows/LargeCsvReaderSetup.exe
75+
name: win_installer

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
/.idea
33
/rpm/*
44
!/rpm/LargeCsvReader.spec
5+
/windows/*
6+
!/windows/setup.iss

windows/setup.iss

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#define FileHandle
2+
#define FileLine
3+
#if FileExists("appversion")
4+
#if FileHandle = FileOpen("appversion")
5+
#define MyAppVersion = Trim(FileRead(FileHandle))
6+
#expr FileClose(FileHandle)
7+
#endif
8+
#endif
9+
10+
#ifndef MyAppVersion
11+
#define MyAppVersion "dev"
12+
#endif
13+
14+
#define MyAppName "Large CSV Reader"
15+
#define MyAppPublisher "RikudouSage"
16+
#define MyAppURL "https://github.com/RikudouSage/LargeCsvReader"
17+
#define MyAppExeName "LargeCsvReader.exe"
18+
19+
[Setup]
20+
AppId={{0B64F95E-742C-4D6F-B93D-068D2EDF4537}
21+
AppName={#MyAppName}
22+
AppVersion={#MyAppVersion}
23+
AppVerName={#MyAppName} {#MyAppVersion}
24+
AppPublisher={#MyAppPublisher}
25+
AppPublisherURL={#MyAppURL}
26+
AppSupportURL={#MyAppURL}
27+
AppUpdatesURL={#MyAppURL}
28+
DefaultDirName={autopf}\{#MyAppName}
29+
ArchitecturesAllowed=x64compatible
30+
ArchitecturesInstallIn64BitMode=x64compatible
31+
DisableProgramGroupPage=yes
32+
PrivilegesRequired=lowest
33+
PrivilegesRequiredOverridesAllowed=dialog
34+
OutputBaseFilename=LargeCsvReaderSetup.exe
35+
Compression=lzma
36+
SolidCompression=yes
37+
WizardStyle=modern
38+
39+
[Languages]
40+
Name: "english"; MessagesFile: "compiler:Default.isl"
41+
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
42+
43+
[Tasks]
44+
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
45+
46+
[Files]
47+
Source: ".\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
48+
49+
[Icons]
50+
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
51+
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
52+
53+
[Run]
54+
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

0 commit comments

Comments
 (0)