Files
Sebastian Dine 55ace147bc major: initial release
* initial development

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* pokemon

* pokemon

* pokemon

* pokemon

* pokemon

* pokemon

* improvements

* improvements

* ci/cd

* ci/cd

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

---------

Co-authored-by: sdine <sdine@sdine.com>
2026-05-09 11:05:47 +02:00

77 lines
2.7 KiB
NSIS

Unicode True
!include "MUI2.nsh"
!define APP_NAME "Card Collection Manager 3"
!define APP_DIR "Card Collection Manager 3"
!define APP_EXE "ccm3.exe"
!define APP_ICON "installer_icon.ico"
!define REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Card Collection Manager 3"
!define APP_PATHS_KEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ccm3.exe"
; APP_VERSION is supplied by CI via `makensis -DAPP_VERSION=...`. Falls back to
; "localbuild" so manual runs from a developer machine still work.
!ifndef APP_VERSION
!define APP_VERSION "localbuild"
!endif
Name "${APP_NAME} ${APP_VERSION}"
OutFile "..\ccm3-windows-installer.exe"
Icon "${APP_ICON}"
UninstallIcon "${APP_ICON}"
BrandingText "${APP_NAME} ${APP_VERSION}"
InstallDir "$PROGRAMFILES64\${APP_DIR}"
RequestExecutionLevel admin
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Section "!Core files (required)"
SectionIn RO
SetOutPath "$INSTDIR"
File /r "..\build\bin\*.*"
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "${REG_KEY}" "DisplayName" "${APP_NAME}"
WriteRegStr HKLM "${REG_KEY}" "DisplayVersion" "${APP_VERSION}"
WriteRegStr HKLM "${REG_KEY}" "DisplayIcon" "$INSTDIR\${APP_EXE}"
WriteRegStr HKLM "${REG_KEY}" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
WriteRegStr HKLM "${REG_KEY}" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
WriteRegStr HKLM "${REG_KEY}" "InstallLocation" "$INSTDIR"
WriteRegDWORD HKLM "${REG_KEY}" "NoModify" 1
WriteRegDWORD HKLM "${REG_KEY}" "NoRepair" 1
WriteRegStr HKLM "${APP_PATHS_KEY}" "" "$INSTDIR\${APP_EXE}"
WriteRegStr HKLM "${APP_PATHS_KEY}" "Path" "$INSTDIR"
SectionEnd
Section "Start Menu shortcuts"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${APP_DIR}"
CreateShortcut "$SMPROGRAMS\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
CreateShortcut "$SMPROGRAMS\${APP_DIR}\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
CreateShortcut "$SMPROGRAMS\${APP_DIR}\Uninstall ${APP_NAME}.lnk" "$INSTDIR\Uninstall.exe"
SectionEnd
Section "Desktop shortcut"
SetShellVarContext all
CreateShortcut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
SectionEnd
Section "Uninstall"
SetShellVarContext all
Delete "$DESKTOP\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_DIR}\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_DIR}\Uninstall ${APP_NAME}.lnk"
RMDir "$SMPROGRAMS\${APP_DIR}"
RMDir /r "$INSTDIR"
DeleteRegKey HKLM "${REG_KEY}"
DeleteRegKey HKLM "${APP_PATHS_KEY}"
SectionEnd