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