101 lines
3.8 KiB
Text
101 lines
3.8 KiB
Text
Unicode True
|
|
SetCompressor /SOLID lzma
|
|
|
|
!include "MUI2.nsh"
|
|
|
|
!ifndef APP_VERSION
|
|
!define APP_VERSION "0.2.0"
|
|
!endif
|
|
!ifndef PUBLISH_DIR
|
|
!error "PUBLISH_DIR is required"
|
|
!endif
|
|
!ifndef OUTPUT_DIR
|
|
!error "OUTPUT_DIR is required"
|
|
!endif
|
|
!ifndef PROJECT_ROOT
|
|
!error "PROJECT_ROOT is required"
|
|
!endif
|
|
|
|
!define APP_NAME "Krona Staff Terminal"
|
|
!define APP_EXE "KronaStaffTerminal.exe"
|
|
!define APP_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\KronaStaffTerminal"
|
|
!define DRIVER_URL "https://www.zkteco.com/en/Biometrics_Module_SDK/ZKFinger-SDK-for-Windows"
|
|
|
|
Name "${APP_NAME}"
|
|
OutFile "${OUTPUT_DIR}\KronaStaffTerminal-Setup-${APP_VERSION}.exe"
|
|
InstallDir "$LOCALAPPDATA\Programs\Krona Staff Terminal"
|
|
InstallDirRegKey HKCU "${APP_REGISTRY_KEY}" "InstallLocation"
|
|
RequestExecutionLevel user
|
|
Icon "${PROJECT_ROOT}\apps\KronaStaffTerminal\Assets\AppIcon.ico"
|
|
BrandingText "Krona"
|
|
ShowInstDetails show
|
|
ShowUninstDetails show
|
|
|
|
VIProductVersion "${APP_VERSION}.0"
|
|
VIAddVersionKey /LANG=1049 "ProductName" "${APP_NAME}"
|
|
VIAddVersionKey /LANG=1049 "CompanyName" "Krona"
|
|
VIAddVersionKey /LANG=1049 "LegalCopyright" "Copyright © 2026 Krona"
|
|
VIAddVersionKey /LANG=1049 "FileDescription" "Установщик ${APP_NAME}"
|
|
VIAddVersionKey /LANG=1049 "FileVersion" "${APP_VERSION}"
|
|
VIAddVersionKey /LANG=1049 "ProductVersion" "${APP_VERSION}"
|
|
|
|
!define MUI_ABORTWARNING
|
|
!define MUI_ICON "${PROJECT_ROOT}\apps\KronaStaffTerminal\Assets\AppIcon.ico"
|
|
!define MUI_UNICON "${PROJECT_ROOT}\apps\KronaStaffTerminal\Assets\AppIcon.ico"
|
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\${APP_EXE}"
|
|
!define MUI_FINISHPAGE_RUN_TEXT "Запустить Krona Staff Terminal"
|
|
!define MUI_FINISHPAGE_LINK "Скачать официальный драйвер ZKTeco/BioLink SLK20R"
|
|
!define MUI_FINISHPAGE_LINK_LOCATION "${DRIVER_URL}"
|
|
|
|
!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 "Russian"
|
|
|
|
Section "Krona Staff Terminal" SecMain
|
|
SectionIn RO
|
|
SetShellVarContext current
|
|
SetOutPath "$INSTDIR"
|
|
SetOverwrite try
|
|
File /r "${PUBLISH_DIR}\*"
|
|
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
CreateDirectory "$SMPROGRAMS\Krona"
|
|
CreateShortcut "$SMPROGRAMS\Krona\Krona Staff Terminal.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
|
|
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "DisplayName" "${APP_NAME}"
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "DisplayVersion" "${APP_VERSION}"
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "Publisher" "Krona"
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "InstallLocation" "$INSTDIR"
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "DisplayIcon" "$INSTDIR\${APP_EXE}"
|
|
WriteRegStr HKCU "${APP_REGISTRY_KEY}" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
|
|
WriteRegDWORD HKCU "${APP_REGISTRY_KEY}" "NoModify" 1
|
|
WriteRegDWORD HKCU "${APP_REGISTRY_KEY}" "NoRepair" 1
|
|
SectionEnd
|
|
|
|
Section "Значок на рабочем столе" SecDesktop
|
|
SetShellVarContext current
|
|
CreateShortcut "$DESKTOP\Krona Staff Terminal.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
|
|
SectionEnd
|
|
|
|
LangString DESC_SecMain ${LANG_RUSSIAN} "Основная программа учёта прихода и ухода."
|
|
LangString DESC_SecDesktop ${LANG_RUSSIAN} "Создать значок программы на рабочем столе."
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $(DESC_SecMain)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} $(DESC_SecDesktop)
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
|
|
Section "Uninstall"
|
|
SetShellVarContext current
|
|
Delete "$DESKTOP\Krona Staff Terminal.lnk"
|
|
Delete "$SMPROGRAMS\Krona\Krona Staff Terminal.lnk"
|
|
RMDir "$SMPROGRAMS\Krona"
|
|
DeleteRegKey HKCU "${APP_REGISTRY_KEY}"
|
|
RMDir /r "$INSTDIR"
|
|
SectionEnd
|