1; Script originally generated by the HM NIS Edit Script Wizard. 2 3; Define the DLL dir and the installer filename on the command line, e.g. like his: 4; Usage: "C:\Program Files (x86)\NSIS\makensis.exe" /DDLL_DIR="C:\msys64\mingw64\bin" ValyriaTear.nsi 5 6; HM NIS Edit Wizard helper defines 7!define PRODUCT_NAME "Valyria Tear" 8!define PRODUCT_VERSION "Episode I - v1.1.0" 9!define PRODUCT_PUBLISHER "Bertram" 10!define PRODUCT_WEB_SITE "https://github.com/Bertram25/ValyriaTear/wiki" 11!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ValyriaTear.exe" 12!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" 13!define PRODUCT_UNINST_ROOT_KEY "HKLM" 14 15 16!define LICENSE_FILE "license-file" 17 18; MUI 1.67 compatible ------ 19!include "MUI.nsh" 20 21; MUI Settings 22!define MUI_ABORTWARNING 23!define MUI_ICON "data/icons/program_icon.ico" 24!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" 25 26; Welcome page 27!insertmacro MUI_PAGE_WELCOME 28; License page (not needed) 29; !insertmacro MUI_PAGE_LICENSE $LICENSE_FILE 30; Directory page 31!insertmacro MUI_PAGE_DIRECTORY 32; Instfiles page 33!insertmacro MUI_PAGE_INSTFILES 34; Finish page 35!define MUI_FINISHPAGE_RUN "$INSTDIR\$0.exe" 36!insertmacro MUI_PAGE_FINISH 37 38; Uninstaller pages 39!insertmacro MUI_UNPAGE_INSTFILES 40 41; Language files 42!insertmacro MUI_LANGUAGE "English" 43 44; MUI end ------ 45 46Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" 47OutFile ValyriaTear-Installer.exe 48InstallDir "$PROGRAMFILES\ValyriaTear" 49InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" 50ShowInstDetails show 51ShowUnInstDetails show 52 53Section "MainSection" SEC01 54 StrCpy $0 "ValyriaTear" 55 SetOverwrite ifnewer 56 57 SetOutPath "$INSTDIR\data" 58 File /r data\* 59 60; The offline manual 61 SetOutPath "$INSTDIR\doc" 62 File /r doc\* 63 64 SetOutPath "$INSTDIR" 65 File "src\valyriatear.exe" 66 ; Load DLLs. We use wildcards because the names can change slightly depending 67 ; on the MSys installation. 68 File "${DLL_DIR}\glew32.dll" 69 File "${DLL_DIR}\libbz2-?.dll" 70 File "${DLL_DIR}\libfreetype-?.dll" 71 File "${DLL_DIR}\libgcc_?_*.dll" 72 File "${DLL_DIR}\libglib-2.0-?.dll" 73 File "${DLL_DIR}\libgraphite2.dll" 74 File "${DLL_DIR}\libharfbuzz-?.dll" 75 File "${DLL_DIR}\libiconv-?.dll" 76 File "${DLL_DIR}\libintl-?.dll" 77 File "${DLL_DIR}\libjpeg-?.dll" 78 File "${DLL_DIR}\liblzma-?.dll" 79 File "${DLL_DIR}\libogg-?.dll" 80 File "${DLL_DIR}\libopenal-?.dll" 81 File "${DLL_DIR}\libpcre-?.dll" 82 File "${DLL_DIR}\libpng16-??.dll" 83 File "${DLL_DIR}\libstdc++-?.dll" 84 File "${DLL_DIR}\libtiff-?.dll" 85 File "${DLL_DIR}\libvorbis-?.dll" 86 File "${DLL_DIR}\libvorbisfile-?.dll" 87 File "${DLL_DIR}\libwebp-?.dll" 88 File "${DLL_DIR}\libwinpthread-?.dll" 89 File "${DLL_DIR}\lua5?.dll" 90 File "${DLL_DIR}\SDL2.dll" 91 File "${DLL_DIR}\SDL2_image.dll" 92 File "${DLL_DIR}\SDL2_ttf.dll" 93 File "${DLL_DIR}\zlib1.dll" 94 File "${DLL_DIR}\libzstd.dll" 95 96 CreateDirectory "$SMPROGRAMS\ValyriaTear" 97 CreateShortCut "$SMPROGRAMS\ValyriaTear\$0.lnk" "$INSTDIR\valyriatear.exe" 98 CreateShortCut "$SMPROGRAMS\ValyriaTear\Manual.lnk" "$INSTDIR\doc\manual\index.htm" 99SectionEnd 100 101Section -AdditionalIcons 102 CreateShortCut "$SMPROGRAMS\ValyriaTear\Uninstall.lnk" "$INSTDIR\uninst.exe" 103SectionEnd 104 105Section -Post 106 WriteUninstaller "$INSTDIR\uninst.exe" 107 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\${PRODUCT_NAME}.exe" 108 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" 109 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" 110 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_NAME}.exe" 111 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" 112 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" 113 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" 114SectionEnd 115 116 117Function un.onUninstSuccess 118; HideWindow 119 MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." 120FunctionEnd 121 122Function un.onInit 123 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 124 Abort 125FunctionEnd 126 127Section Uninstall 128 StrCpy $0 "ValyriaTear" 129 130 Delete "$SMPROGRAMS\ValyriaTear\Uninstall.lnk" 131 Delete "$SMPROGRAMS\ValyriaTear\$0.lnk" 132 Delete "$SMPROGRAMS\ValyriaTear\Manual.lnk" 133 134 RMDir "$SMPROGRAMS\ValyriaTear" 135 RMDir /r "$INSTDIR" 136 137 DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" 138 DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" 139 SetAutoClose true 140SectionEnd 141