Creator App Tests / PR Spam Gate (push) Skipped
Frontend Tests / PR Spam Gate (push) Skipped
NPM Format (website & console) / PR Spam Gate (push) Skipped
Pre-commit Checks / PR Spam Gate (push) Skipped
QwenPaw Creator Plugin Release / check-version (push) Canceled after 0s
QwenPaw Creator Plugin Release / upload-oss (push) Canceled after 0s
Tests / PR Spam Gate (push) Skipped
CodeQL / CodeQL (python) (push) Canceled after 0s
CodeQL / CodeQL (typescript) (push) Canceled after 0s
Creator App Tests / Creator Backend Tests (push) Canceled after 0s
Creator App Tests / Creator UI Build & Tests (push) Canceled after 0s
E2E Smoke Tests / Playwright UI Smoke (push) Canceled after 0s
Frontend Tests / Detect console changes (push) Canceled after 0s
NPM Format (website & console) / website format check (push) Canceled after 0s
NPM Format (website & console) / console format check (push) Canceled after 0s
Pre-commit Checks / Pre-commit (push) Canceled after 0s
QwenPaw Data Plugin Release / check-version (push) Canceled after 0s
Tests / Detect code changes (push) Canceled after 0s
Frontend Tests / Vitest Unit Tests (push) Canceled after 0s
Frontend Tests / Frontend Summary (push) Canceled after 0s
QwenPaw Data Plugin Release / upload-oss (push) Canceled after 0s
Tests / Maintainer Approval (push) Canceled after 0s
Tests / Unit Tests - py3.11 - macos-latest (push) Canceled after 0s
Tests / Unit Tests - py3.11 - ubuntu-latest (push) Canceled after 0s
Tests / Unit Tests - py3.13 - ubuntu-latest (push) Canceled after 0s
Tests / Unit Tests - py3.11 - windows-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - macos-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - ubuntu-latest (push) Canceled after 0s
Tests / Contract Tests - py3.13 - ubuntu-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - windows-latest (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - fallback (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p2 (push) Canceled after 0s
Tests / Coverage Report (push) Canceled after 0s
Tests / Test Summary (push) Canceled after 0s
57 lines
1.9 KiB
NSIS
57 lines
1.9 KiB
NSIS
; QwenPaw Desktop NSIS installer. Run makensis from repo root after
|
|
; building dist/win-unpacked (see scripts/pack/build_win.ps1).
|
|
; Usage: makensis /DQWENPAW_VERSION=1.2.3 /DOUTPUT_EXE=dist\QwenPaw-Setup-1.2.3.exe scripts\pack\desktop.nsi
|
|
|
|
!include "MUI2.nsh"
|
|
!define MUI_ABORTWARNING
|
|
; Use custom icon from unpacked env (copied by build_win.ps1)
|
|
!define MUI_ICON "${UNPACKED}\icon.ico"
|
|
!define MUI_UNICON "${UNPACKED}\icon.ico"
|
|
|
|
!ifndef QWENPAW_VERSION
|
|
!define QWENPAW_VERSION "0.0.0"
|
|
!endif
|
|
!ifndef OUTPUT_EXE
|
|
!define OUTPUT_EXE "dist\QwenPaw-Setup-${QWENPAW_VERSION}.exe"
|
|
!endif
|
|
|
|
Name "QwenPaw Desktop"
|
|
OutFile "${OUTPUT_EXE}"
|
|
InstallDir "$LOCALAPPDATA\QwenPaw"
|
|
InstallDirRegKey HKCU "Software\QwenPaw" "InstallPath"
|
|
RequestExecutionLevel user
|
|
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
!insertmacro MUI_LANGUAGE "SimpChinese"
|
|
|
|
; Pass /DUNPACKED=full_path from build_win.ps1 so path works when cwd != repo root
|
|
!ifndef UNPACKED
|
|
!define UNPACKED "dist\win-unpacked"
|
|
!endif
|
|
|
|
Section "QwenPaw Desktop" SEC01
|
|
SetOutPath "$INSTDIR"
|
|
File /r "${UNPACKED}\*.*"
|
|
WriteRegStr HKCU "Software\QwenPaw" "InstallPath" "$INSTDIR"
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
|
; Main shortcut - uses VBS to hide console window
|
|
CreateShortcut "$SMPROGRAMS\QwenPaw Desktop.lnk" "$INSTDIR\QwenPaw Desktop.vbs" "" "$INSTDIR\icon.ico" 0
|
|
CreateShortcut "$DESKTOP\QwenPaw Desktop.lnk" "$INSTDIR\QwenPaw Desktop.vbs" "" "$INSTDIR\icon.ico" 0
|
|
|
|
; Debug shortcut - shows console window for troubleshooting
|
|
CreateShortcut "$SMPROGRAMS\QwenPaw Desktop (Debug).lnk" "$INSTDIR\QwenPaw Desktop (Debug).bat" "" "$INSTDIR\icon.ico" 0
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
Delete "$SMPROGRAMS\QwenPaw Desktop.lnk"
|
|
Delete "$SMPROGRAMS\QwenPaw Desktop (Debug).lnk"
|
|
Delete "$DESKTOP\QwenPaw Desktop.lnk"
|
|
RMDir /r "$INSTDIR"
|
|
DeleteRegKey HKCU "Software\QwenPaw"
|
|
SectionEnd
|