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.
68 lines
2.7 KiB
NSIS
68 lines
2.7 KiB
NSIS
!include "MUI2.nsh"
|
|
!include "FileFunc.nsh"
|
|
|
|
SetCompressor /SOLID lzma
|
|
SetCompressorDictSize 64
|
|
|
|
Name "Scythe"
|
|
OutFile "..\..\dist\scythe-setup.exe"
|
|
InstallDir "$LOCALAPPDATA\Programs\scythe"
|
|
RequestExecutionLevel user
|
|
|
|
!define MUI_ABORTWARNING
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\scythe.exe"
|
|
!define MUI_FINISHPAGE_RUN_PARAMETERS "--menu"
|
|
!define MUI_FINISHPAGE_RUN_TEXT "Launch Scythe"
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
Section "Scythe" SecMain
|
|
; 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
|
|
SetOutPath "$INSTDIR"
|
|
File /r "..\..\dist\bundle\*.*"
|
|
|
|
; Create Start Menu and Desktop shortcuts
|
|
CreateDirectory "$SMPROGRAMS\scythe"
|
|
CreateShortcut "$SMPROGRAMS\scythe\scythe.lnk" "$INSTDIR\scythe.exe" "--menu"
|
|
CreateShortcut "$DESKTOP\scythe.lnk" "$INSTDIR\scythe.exe" "--menu"
|
|
|
|
; Register uninstaller with Windows Control Panel / Settings
|
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\scythe" "DisplayName" "Scythe Screen Recorder"
|
|
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\scythe" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\scythe" "DisplayIcon" "$INSTDIR\scythe.exe"
|
|
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\scythe" "Publisher" "oiupoyt"
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
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
|
|
|
|
Delete "$DESKTOP\scythe.lnk"
|
|
RMDir /r "$SMPROGRAMS\scythe"
|
|
RMDir /r "$INSTDIR"
|
|
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\scythe"
|
|
SectionEnd
|