diff --git a/packaging/windows/farmcontrol.nsi b/packaging/windows/farmcontrol.nsi index 3fefc62..17ae7d8 100644 --- a/packaging/windows/farmcontrol.nsi +++ b/packaging/windows/farmcontrol.nsi @@ -1,4 +1,4 @@ -!include "MUI2.nsh" +!include "MUI2.nsh" !include "LogicLib.nsh" !include "installer.nsh" @@ -10,6 +10,10 @@ !define VERSION "0.1.0" !endif +!ifndef BUILD_NUMBER + !define BUILD_NUMBER "dev" +!endif + !ifndef APP_SOURCE_DIR !define APP_SOURCE_DIR "app" !endif @@ -21,6 +25,7 @@ InstallDirRegKey HKLM "Software\Tom Butcher\Farm Control" "InstallDir" RequestExecutionLevel admin !define MUI_ABORTWARNING +!define MUI_BRANDINGTEXT "Farm Control v${VERSION}-b${BUILD_NUMBER} Installer" !ifndef INSTALLER_ICON !define INSTALLER_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" diff --git a/scripts/build-windows-nsis.ps1 b/scripts/build-windows-nsis.ps1 index 34f1b7e..e9aa3e2 100644 --- a/scripts/build-windows-nsis.ps1 +++ b/scripts/build-windows-nsis.ps1 @@ -8,6 +8,8 @@ param( [Parameter(Mandatory = $true)] [string]$Version, + [string]$BuildNumber = "dev", + [long]$MinInstallerBytes = 10485760 ) @@ -97,6 +99,7 @@ $makensisArgs = @( "/NOCD" "/DOUTFILE=$localInstallerName" "/DVERSION=$Version" + "/DBUILD_NUMBER=$BuildNumber" "/DAPP_SOURCE_DIR=app" ) diff --git a/scripts/finalize-desktop-artifacts.mjs b/scripts/finalize-desktop-artifacts.mjs index 3e3a525..23c23c6 100644 --- a/scripts/finalize-desktop-artifacts.mjs +++ b/scripts/finalize-desktop-artifacts.mjs @@ -447,6 +447,15 @@ function buildWindowsNsis(appDir, arch) { artifactDir, getReleaseArtifactName(version, arch, 'exe') ) + const buildInfoPath = path.join(rootDir, 'src/buildInfo.json') + const buildInfo = existsSync(buildInfoPath) + ? JSON.parse(readFileSync(buildInfoPath, 'utf8')) + : {} + const buildNumber = + process.env.BUILD_NUMBER || + process.env.VITE_BUILD_NUMBER || + buildInfo.buildNumber || + 'dev' const powershell = process.env.SystemRoot ? path.join( process.env.SystemRoot, @@ -470,7 +479,9 @@ function buildWindowsNsis(appDir, arch) { '-OutputExe', exePath, '-Version', - version + version, + '-BuildNumber', + buildNumber ], { stdio: 'inherit' } )