; 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\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" File "dist\LineDancePlayer\LineDancePlayer.exe" ; VLC DLL-filer og plugins er nu pakket direkte af PyInstaller File /nonfatal "dist\LineDancePlayer\libvlc.dll" File /nonfatal "dist\LineDancePlayer\libvlccore.dll" SetOutPath "$INSTDIR\plugins" File /nonfatal /r "dist\LineDancePlayer\plugins\*" SetOutPath "$INSTDIR\_internal" File /r "dist\LineDancePlayer\_internal\*" ; Start-menu genvej CreateDirectory "$SMPROGRAMS\${APP_NAME}" CreateShortcut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" \ "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0 ; Skrivebords-genvej 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 DLL-filer er bundlet med appen — intet VLC-tjek nødvendigt ; ── 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}" ; Spørg om brugerdata skal slettes IfFileExists "$PROFILE\.linedance\*" AskDelete SkipDelete AskDelete: MessageBox MB_YESNO|MB_ICONQUESTION \ "Vil du slette dine lokale data?$\n$\nDette fjerner din musikdatabase, indstillinger og playlister fra:$\n$PROFILE\.linedance$\n$\nVaelg Nej for at beholde dine data." \ IDNO SkipDelete RMDir /r "$PROFILE\.linedance" SkipDelete: SectionEnd