;------------------------------------------------------------------------------- ; Includes !include "MUI2.nsh" !include "LogicLib.nsh" !include "WinVer.nsh" !include "x64.nsh" ;------------------------------------------------------------------------------- ; Constants !define PRODUCT_NAME "@PACKAGE_TITLE@" !define PRODUCT_DESCRIPTION "TODO" !define COPYRIGHT "GNU GPLv3" !define PRODUCT_VERSION "@NSIS_PRODUCT_VERSION@" !define SETUP_VERSION 1.0.0.0 ;------------------------------------------------------------------------------- ; Attributes Name "${PRODUCT_NAME}" OutFile "${PRODUCT_NAME} @PACKAGE_VERSION@ Setup.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" InstallDirRegKey HKCU "Software\Louie S\${PRODUCT_NAME}" "" RequestExecutionLevel user ; user|highest|admin ;------------------------------------------------------------------------------- ; Version Info VIProductVersion "${PRODUCT_VERSION}" VIAddVersionKey "ProductName" "${PRODUCT_NAME}" VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}" VIAddVersionKey "FileDescription" "${PRODUCT_DESCRIPTION}" VIAddVersionKey "LegalCopyright" "${COPYRIGHT}" VIAddVersionKey "FileVersion" "${SETUP_VERSION}" ;------------------------------------------------------------------------------- ; Modern UI Appearance ;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico" !define MUI_ICON "..\src\icon\@PACKAGE_NAME@.ico" !define MUI_UNIICON "..\src\icon\@PACKAGE_NAME@.ico" !define MUI_HEADERIMAGE ;!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp" ;!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_FINISHPAGE_RUN "@PACKAGE_NAME@.exe" !define MUI_FINISHPAGE_SHOWREADME "" !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED !define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut" !define MUI_FINISHPAGE_SHOWREADME_FUNCTION installDesktopShortcut ;------------------------------------------------------------------------------- ; Installer Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "..\COPYING" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY Var StartMenuFolder !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ;------------------------------------------------------------------------------- ; Uninstaller Pages !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH ;------------------------------------------------------------------------------- ; Languages !insertmacro MUI_LANGUAGE "English" ;------------------------------------------------------------------------------- ; Installer Sections Section "Core" MyApp ; Don't allow this section to be deselected SectionIn RO SetOutPath $INSTDIR File "..\src\@PACKAGE_NAME@.exe" File "deps\*.*" ;File "Readme.txt" ; TODO !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$StartMenuFolder\" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${PRODUCT_NAME}.lnk" "$INSTDIR\@PACKAGE_NAME@.exe" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_END WriteUninstaller "$INSTDIR\Uninstall.exe" SectionEnd Section "lua-filesystem" lfs SetOutPath $INSTDIR File "deps_luarocks\lfs.dll" SectionEnd Function installDesktopShortcut CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\@PACKAGE_NAME@.exe" FunctionEnd ;------------------------------------------------------------------------------- ; Uninstaller Sections Section "Uninstall" Delete "$INSTDIR\@PACKAGE_NAME@.exe" Delete "$INSTDIR\*.dll" Delete "$INSTDIR\Uninstall.exe" Delete "$Desktop\${PRODUCT_NAME}.lnk" !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder Delete "$SMPROGRAMS\$StartMenuFolder\${PRODUCT_NAME}.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" RMDir "$SMPROGRAMS\$StartMenuFolder" RMDir "$INSTDIR" ;DeleteRegKey /ifempty HKCU "Software\Modern UI Test" SectionEnd