diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ad4a58c..3684113 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -113,13 +113,18 @@ jobs: - name: Build Thunder Hub run: | qbs install --all-products config:release profile:qt - 7z a -t7z ThunderHub-windows-x64.7z release/install-root/ + + - name: Compile Inno Setup script + uses: Minionguyjpro/Inno-Setup-Action@v1.2.7 + with: + path: build/windows/setup.iss + options: /O+ - name: Upload Thunder Hub uses: actions/upload-artifact@v4 with: - name: ThunderHub-windows-x64.7z - path: ThunderHub-windows-x64.7z + name: ThundeHub.exe + path: release/ThunderHub.exe github: name: Upload to GitHub releases diff --git a/build/windows/setup.iss b/build/windows/setup.iss new file mode 100644 index 0000000..e9707ae --- /dev/null +++ b/build/windows/setup.iss @@ -0,0 +1,57 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! +; Non-commercial use only + +#define MyAppName "Thunder Hub" +#define MyAppVersion "2026.1" +#define MyAppURL "https://thunderengine.org/" +#define MyAppExeName "Hub.exe" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{87ABD83C-8261-4887-8018-7244F4C2A519} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={autopf}\ThunderHub +UninstallDisplayIcon={app}\{#MyAppExeName} +; "ArchitecturesAllowed=x64compatible" specifies that Setup cannot run +; on anything but x64 and Windows 11 on Arm. +ArchitecturesAllowed=x64compatible +; "ArchitecturesInstallIn64BitMode=x64compatible" requests that the +; install be done in "64-bit mode" on x64 or Windows 11 on Arm, +; meaning it should use the native 64-bit Program Files directory and +; the 64-bit view of the registry. +ArchitecturesInstallIn64BitMode=x64compatible +DisableProgramGroupPage=yes +; Remove the following line to run in administrative install mode (install for all users). +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +OutputDir=..\..\release +OutputBaseFilename=ThunderHub +SetupIconFile=..\..\hub\res\Thunder.ico +SolidCompression=yes +WizardStyle=modern dynamic + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "..\..\release\install-root\hub\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\..\release\install-root\hub\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +