117 lines
4.6 KiB
NSIS
117 lines
4.6 KiB
NSIS
; LineDance Player — NSIS Installer Script
|
|
; Kræver NSIS 3.x installeret: https://nsis.sourceforge.io/
|
|
|
|
!define APP_NAME "LineDance Player"
|
|
!define APP_EXE "LineDancePlayer.exe"
|
|
!define APP_VERSION "1.0.0"
|
|
!define APP_PUBLISHER "LineDance Player"
|
|
!define APP_URL "https://linedanceplayer.dk"
|
|
!define INSTALL_DIR "$LOCALAPPDATA\Programs\LineDancePlayer"
|
|
!define REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\LineDancePlayer"
|
|
|
|
; ── Generelle indstillinger ───────────────────────────────────────────────────
|
|
Name "${APP_NAME}"
|
|
OutFile "dist\LineDancePlayer-Setup.exe"
|
|
InstallDir "${INSTALL_DIR}"
|
|
InstallDirRegKey HKCU "${REG_KEY}" "InstallLocation"
|
|
RequestExecutionLevel user ; Ingen admin-rettigheder nødvendige
|
|
SetCompressor /SOLID lzma
|
|
Unicode True
|
|
|
|
; ── Moderne UI ────────────────────────────────────────────────────────────────
|
|
!include "MUI2.nsh"
|
|
!include "FileFunc.nsh"
|
|
|
|
!define MUI_ABORTWARNING
|
|
!define MUI_ICON "installer\icon.ico"
|
|
!define MUI_UNICON "installer\icon.ico"
|
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "installer\welcome.bmp"
|
|
!define MUI_HEADERIMAGE
|
|
!define MUI_HEADERIMAGE_BITMAP "installer\header.bmp"
|
|
|
|
; Farver (orange tema)
|
|
!define MUI_BGCOLOR "0C0D10"
|
|
!define MUI_TEXTCOLOR "ECEEF4"
|
|
|
|
; ── Sider ─────────────────────────────────────────────────────────────────────
|
|
!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 "Danish"
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
; ── Installer ─────────────────────────────────────────────────────────────────
|
|
Section "LineDance Player" SecMain
|
|
SectionIn RO ; Obligatorisk
|
|
|
|
SetOutPath "$INSTDIR"
|
|
|
|
; Kopiér alle filer fra dist\LineDancePlayer\
|
|
File /r "dist\LineDancePlayer\*.*"
|
|
|
|
; Start-menu genvej
|
|
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
|
|
CreateShortcut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" \
|
|
"$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
|
|
|
|
; Skrivebords-genvej (valgfri — spørg brugeren)
|
|
CreateShortcut "$DESKTOP\${APP_NAME}.lnk" \
|
|
"$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0
|
|
|
|
; Gem installationsinfo i registry (til afinstallation)
|
|
WriteRegStr HKCU "${REG_KEY}" "DisplayName" "${APP_NAME}"
|
|
WriteRegStr HKCU "${REG_KEY}" "DisplayVersion" "${APP_VERSION}"
|
|
WriteRegStr HKCU "${REG_KEY}" "Publisher" "${APP_PUBLISHER}"
|
|
WriteRegStr HKCU "${REG_KEY}" "URLInfoAbout" "${APP_URL}"
|
|
WriteRegStr HKCU "${REG_KEY}" "InstallLocation" "$INSTDIR"
|
|
WriteRegStr HKCU "${REG_KEY}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
|
|
WriteRegStr HKCU "${REG_KEY}" "DisplayIcon" "$INSTDIR\${APP_EXE}"
|
|
WriteRegDWORD HKCU "${REG_KEY}" "NoModify" 1
|
|
WriteRegDWORD HKCU "${REG_KEY}" "NoRepair" 1
|
|
|
|
; Beregn installationsstørrelse
|
|
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
|
IntFmt $0 "0x%08X" $0
|
|
WriteRegDWORD HKCU "${REG_KEY}" "EstimatedSize" "$0"
|
|
|
|
; Skriv afinstaller
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
|
SectionEnd
|
|
|
|
; ── VLC tjek (advarsel hvis ikke installeret) ─────────────────────────────────
|
|
Section -VLCCheck
|
|
ReadRegStr $0 HKLM "SOFTWARE\VideoLAN\VLC" ""
|
|
ReadRegStr $1 HKCU "SOFTWARE\VideoLAN\VLC" ""
|
|
${If} $0 == ""
|
|
${AndIf} $1 == ""
|
|
MessageBox MB_YESNO|MB_ICONINFORMATION \
|
|
"LineDance Player bruger VLC til afspilning.$\n$\nVLC er ikke installeret. Vil du åbne download-siden?$\n$\n(Du kan installere det senere)" \
|
|
IDNO VLCSkip
|
|
ExecShell "open" "https://www.videolan.org/vlc/"
|
|
VLCSkip:
|
|
${EndIf}
|
|
SectionEnd
|
|
|
|
; ── Afinstaller ───────────────────────────────────────────────────────────────
|
|
Section "Uninstall"
|
|
; Slet programfiler
|
|
RMDir /r "$INSTDIR"
|
|
|
|
; Slet genveje
|
|
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk"
|
|
RMDir "$SMPROGRAMS\${APP_NAME}"
|
|
Delete "$DESKTOP\${APP_NAME}.lnk"
|
|
|
|
; Slet registry
|
|
DeleteRegKey HKCU "${REG_KEY}"
|
|
|
|
; Bevar brugernes data i %APPDATA%\.linedance — slet IKKE
|
|
|
|
SectionEnd
|