Files
ngzz-mc/scripts/installer.nsi

96 lines
3.3 KiB
NSIS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; 年糕历险记 —— Windows 安装脚本(NSIS 3,简体中文)
; 用法:makensis /DVERSION=1.0.0 scripts/installer.nsi
; 产物:年糕历险记-Setup-v1.0.0.exe(构建与发布.md §8)
Unicode true
!include "MUI2.nsh"
; ---- 产品信息(构建与发布.md §8:名称统一为 年糕历险记)----
!ifndef VERSION
!define VERSION "0.1.0"
!endif
!define PRODUCT_NAME "年糕历险记"
!define PRODUCT_NAME_EN "NianGao Adventure"
!define PRODUCT_PUBLISHER "NianGao Studio"
!define PRODUCT_EXE "mc-client.exe"
!define INSTALLER_NAME "${PRODUCT_NAME}-Setup-v${VERSION}.exe"
!define UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_EN}"
Name "${PRODUCT_NAME}"
OutFile "dist\${INSTALLER_NAME}"
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME_EN}"
InstallDirRegKey HKLM "${UNINSTALL_KEY}" "InstallLocation"
RequestExecutionLevel admin
SetCompressor /SOLID lzma
!define MUI_ABORTWARNING
!define MUI_ICON "..\resourcepacks\texture-pack-default1.20.5-26.2\pack.png"
!define MUI_UNICON "..\resourcepacks\texture-pack-default1.20.5-26.2\pack.png"
; ---- 页面(全中文)----
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"
; ---- 安装内容(构建与发布.md §8)----
Section "主程序" SEC01
SetOutPath "$INSTDIR"
File "..\bin\mc-client.exe"
File "..\bin\mc-server.exe"
; 配置与语言
SetOutPath "$INSTDIR\config"
File "..\config\client.yaml"
File "..\config\server.yaml"
; 默认素材包
SetOutPath "$INSTDIR\resourcepacks\texture-pack-default1.20.5-26.2"
File /r "..\resourcepacks\texture-pack-default1.20.5-26.2\*.*"
; 内容包投放目录与说明
SetOutPath "$INSTDIR\mods"
File "..\mods\README.md"
; 世界存档目录
CreateDirectory "$INSTDIR\worlds"
CreateDirectory "$INSTDIR\logs"
; 注册卸载信息
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayVersion" "${VERSION}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "${UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoModify" 1
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoRepair" 1
WriteUninstaller "$INSTDIR\uninstall.exe"
; 快捷方式(桌面 + 开始菜单,中文名)
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\卸载${PRODUCT_NAME}.lnk" "$INSTDIR\uninstall.exe"
SectionEnd
; ---- 卸载 ----
Section "Uninstall"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
Delete "$INSTDIR\${PRODUCT_EXE}"
Delete "$INSTDIR\mc-server.exe"
Delete "$INSTDIR\uninstall.exe"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\resourcepacks"
RMDir /r "$INSTDIR\mods"
; 保留用户存档(worlds/)与日志,不删除
DeleteRegKey HKLM "${UNINSTALL_KEY}"
SectionEnd