Build Windows Installer in CI (#4408)
* feat: build installer in CI Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com> * fix: use inno-setup from PATH * fix: only match `v*` tags * fix: don't add to release * fix: only run on master --------- Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
; Script generated by the Inno Setup Script Wizard.
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define MyAppName "Chatterino"
|
||||
#define MyAppVersion "2.4.4"
|
||||
#define MyAppPublisher "Chatterino Team"
|
||||
#define MyAppURL "https://www.chatterino.com"
|
||||
#define MyAppExeName "chatterino.exe"
|
||||
|
||||
; used in build-installer.ps1
|
||||
; if set, must end in a backslash
|
||||
#ifndef WORKING_DIR
|
||||
#define WORKING_DIR ""
|
||||
#endif
|
||||
|
||||
[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={{F5FE6614-04D4-4D32-8600-0ABA0AC113A4}
|
||||
AppName={#MyAppName}
|
||||
AppVersion={#MyAppVersion}
|
||||
VersionInfoVersion={#MyAppVersion}
|
||||
AppVerName={#MyAppName} {#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
AppSupportURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}
|
||||
DefaultDirName={autopf}\{#MyAppName}
|
||||
DisableProgramGroupPage=yes
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
;Uncomment the following line to run in non administrative install mode (install for current user only.)
|
||||
;PrivilegesRequired=lowest
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
OutputDir=out
|
||||
; This is defined by the build-installer.ps1 script,
|
||||
; but kept optional for regular use.
|
||||
#ifdef INSTALLER_BASE_NAME
|
||||
OutputBaseFilename={#INSTALLER_BASE_NAME}
|
||||
#else
|
||||
OutputBaseFilename=Chatterino.Installer
|
||||
#endif
|
||||
Compression=lzma
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
UsePreviousTasks=no
|
||||
UninstallDisplayIcon={app}\{#MyAppExeName}
|
||||
RestartIfNeededByRun=no
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
#ifdef IS_NIGHTLY
|
||||
[Messages]
|
||||
SetupAppTitle=Setup (Nightly)
|
||||
SetupWindowTitle=Setup - %1 (Nightly)
|
||||
#endif
|
||||
|
||||
[Tasks]
|
||||
Name: "vcredist"; Description: "Install the required Visual C++ 2015/2017/2019/2022 Redistributable";
|
||||
; GroupDescription: "{cm:AdditionalIcons}";
|
||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; Flags: unchecked
|
||||
Name: "freshinstall"; Description: "Fresh install (delete old settings/logs)"; Flags: unchecked
|
||||
|
||||
[Files]
|
||||
Source: "{#WORKING_DIR}Chatterino2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: "{#WORKING_DIR}vc_redist.x64.exe"; DestDir: "{tmp}"; Tasks: vcredist;
|
||||
; 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]
|
||||
; VC++ redistributable
|
||||
Filename: {tmp}\vc_redist.x64.exe; Parameters: "/install /passive /norestart"; StatusMsg: "Installing 64-bit Windows Universal Runtime..."; Flags: waituntilterminated; Tasks: vcredist
|
||||
; Run chatterino
|
||||
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
|
||||
|
||||
[InstallDelete]
|
||||
; Delete cache on install
|
||||
Type: filesandordirs; Name: "{userappdata}\Chatterino2\Cache"
|
||||
; Delete %appdata%\Chatterino2 on freshinstall
|
||||
Type: filesandordirs; Name: "{userappdata}\Chatterino2"; Tasks: freshinstall
|
||||
|
||||
[UninstallDelete]
|
||||
; Delete cache on uninstall
|
||||
Type: filesandordirs; Name: "{userappdata}\Chatterino2\Cache"
|
||||
Reference in New Issue
Block a user