scythe/packaging/windows/scythe-standalone.nsi
spearzificial d01cdcb449 fix(ci): package the unified scythe binary instead of removed targets
The multicall consolidation removed the scythe-daemon and scythe-ui crate
targets, but every packaging path still copied them, so a tag push failed
at the first packaging step and no release could be produced.

- release.yml: tarball, .deb and AppImage ship scythe plus daemon/ui/vrec
  symlinks; AppRun execs scythe; Windows bundle copies scythe.exe only
- gitlab-ci.yml: artifacts publish target/release/scythe; Windows job
  builds --bin scythe
- rpm spec and flatpak manifest install one binary and link the aliases
- NSIS installers target scythe.exe for shortcuts, finish page,
  DisplayIcon and forwarded args, keeping legacy taskkill lines so old
  installs shut down cleanly

Also make the gitlab fmt job advisory: it reported drift across 20 files
and build-linux hard-depended on it, blocking every build. A whole-tree
reformat belongs in its own commit.
2026-10-20 16:31:46 +05:30

32 lines
1.2 KiB
NSIS

!include "FileFunc.nsh"
!include "LogicLib.nsh"
Name "Scythe"
OutFile "..\..\dist\scythe.exe"
Caption "Scythe Screen Recorder"
SilentInstall silent
RequestExecutionLevel user
Section
; Terminate any running instances so locked executables and DLLs can be updated cleanly
nsExec::Exec 'taskkill /F /IM scythe.exe /T'
nsExec::Exec 'taskkill /F /IM scythe-ui.exe /T'
nsExec::Exec 'taskkill /F /IM scythe-daemon.exe /T'
nsExec::Exec 'taskkill /F /IM vrec-ui.exe /T'
nsExec::Exec 'taskkill /F /IM vrec-daemon.exe /T'
nsExec::Exec 'powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "Get-Process -Name scythe, scythe-ui, scythe-daemon, vrec-ui, vrec-daemon -ErrorAction SilentlyContinue | Stop-Process -Force"'
Sleep 1500
SetOverwrite try
; Extract self-contained binaries and all runtime DLLs directly to user app data
SetOutPath "$LOCALAPPDATA\scythe"
File /r "..\..\dist\bundle\*.*"
; Execute scythe with any forwarded command-line arguments, or default to overlay menu
${GetParameters} $R0
${If} $R0 == ""
Exec '"$LOCALAPPDATA\scythe\scythe.exe" --menu'
${Else}
Exec '"$LOCALAPPDATA\scythe\scythe.exe" $R0'
${EndIf}
SectionEnd