1 !system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script
2 !include "svnrev.txt" ; !defines PRODUCT_VERSION
3 !define BASE_DIR
"..\Binary\win32"
5 ; HM NIS Edit Wizard helper defines
6 !define PRODUCT_NAME
"Dolphin"
7 !define PRODUCT_PUBLISHER
"Dolphin Team"
8 !define PRODUCT_WEB_SITE
"http://www.dolphin-emu.com"
9 !define PRODUCT_DIR_REGKEY
"Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe"
10 !define PRODUCT_UNINST_KEY
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
11 !define PRODUCT_UNINST_ROOT_KEY
"HKLM"
15 ; MUI 1.67 compatible ------
19 !define MUI_ABORTWARNING
20 !define MUI_ICON
"Dolphin.ico"
21 !define MUI_UNICON
"${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
23 ; Language Selection Dialog Settings
24 !define MUI_LANGDLL_REGISTRY_ROOT
"${PRODUCT_UNINST_ROOT_KEY}"
25 !define MUI_LANGDLL_REGISTRY_KEY
"${PRODUCT_UNINST_KEY}"
26 !define MUI_LANGDLL_REGISTRY_VALUENAME
"NSIS:Language"
29 !insertmacro MUI_PAGE_LICENSE
"Licence.txt"
31 !insertmacro MUI_PAGE_COMPONENTS
33 !insertmacro MUI_PAGE_DIRECTORY
35 !insertmacro MUI_PAGE_INSTFILES
37 ; We launch the desktop shortcut to set the working dir
38 !define MUI_FINISHPAGE_RUN
39 !define MUI_FINISHPAGE_RUN_TEXT
"Start $(^Name)"
40 !define MUI_FINISHPAGE_RUN_FUNCTION
"LaunchDolphin"
41 !insertmacro MUI_PAGE_FINISH
44 !insertmacro MUI_UNPAGE_INSTFILES
47 !insertmacro MUI_LANGUAGE
"Afrikaans"
48 !insertmacro MUI_LANGUAGE
"Albanian"
49 !insertmacro MUI_LANGUAGE
"Arabic"
50 !insertmacro MUI_LANGUAGE
"Basque"
51 !insertmacro MUI_LANGUAGE
"Belarusian"
52 !insertmacro MUI_LANGUAGE
"Bosnian"
53 !insertmacro MUI_LANGUAGE
"Breton"
54 !insertmacro MUI_LANGUAGE
"Bulgarian"
55 !insertmacro MUI_LANGUAGE
"Catalan"
56 !insertmacro MUI_LANGUAGE
"Croatian"
57 !insertmacro MUI_LANGUAGE
"Czech"
58 !insertmacro MUI_LANGUAGE
"Danish"
59 !insertmacro MUI_LANGUAGE
"Dutch"
60 !insertmacro MUI_LANGUAGE
"English"
61 !insertmacro MUI_LANGUAGE
"Estonian"
62 !insertmacro MUI_LANGUAGE
"Farsi"
63 !insertmacro MUI_LANGUAGE
"Finnish"
64 !insertmacro MUI_LANGUAGE
"French"
65 !insertmacro MUI_LANGUAGE
"Galician"
66 !insertmacro MUI_LANGUAGE
"German"
67 !insertmacro MUI_LANGUAGE
"Greek"
68 !insertmacro MUI_LANGUAGE
"Hebrew"
69 !insertmacro MUI_LANGUAGE
"Hungarian"
70 !insertmacro MUI_LANGUAGE
"Icelandic"
71 !insertmacro MUI_LANGUAGE
"Indonesian"
72 !insertmacro MUI_LANGUAGE
"Irish"
73 !insertmacro MUI_LANGUAGE
"Italian"
74 !insertmacro MUI_LANGUAGE
"Japanese"
75 !insertmacro MUI_LANGUAGE
"Korean"
76 !insertmacro MUI_LANGUAGE
"Kurdish"
77 !insertmacro MUI_LANGUAGE
"Latvian"
78 !insertmacro MUI_LANGUAGE
"Lithuanian"
79 !insertmacro MUI_LANGUAGE
"Luxembourgish"
80 !insertmacro MUI_LANGUAGE
"Macedonian"
81 !insertmacro MUI_LANGUAGE
"Malay"
82 !insertmacro MUI_LANGUAGE
"Mongolian"
83 !insertmacro MUI_LANGUAGE
"Norwegian"
84 !insertmacro MUI_LANGUAGE
"NorwegianNynorsk"
85 !insertmacro MUI_LANGUAGE
"Polish"
86 !insertmacro MUI_LANGUAGE
"Portuguese"
87 !insertmacro MUI_LANGUAGE
"PortugueseBR"
88 !insertmacro MUI_LANGUAGE
"Romanian"
89 !insertmacro MUI_LANGUAGE
"Russian"
90 !insertmacro MUI_LANGUAGE
"Serbian"
91 !insertmacro MUI_LANGUAGE
"SerbianLatin"
92 !insertmacro MUI_LANGUAGE
"SimpChinese"
93 !insertmacro MUI_LANGUAGE
"Slovak"
94 !insertmacro MUI_LANGUAGE
"Slovenian"
95 !insertmacro MUI_LANGUAGE
"Spanish"
96 !insertmacro MUI_LANGUAGE
"SpanishInternational"
97 !insertmacro MUI_LANGUAGE
"Swedish"
98 !insertmacro MUI_LANGUAGE
"Thai"
99 !insertmacro MUI_LANGUAGE
"TradChinese"
100 !insertmacro MUI_LANGUAGE
"Turkish"
101 !insertmacro MUI_LANGUAGE
"Ukrainian"
102 !insertmacro MUI_LANGUAGE
"Uzbek"
103 !insertmacro MUI_LANGUAGE
"Welsh"
106 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
110 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
111 !define UN_NAME
"Uninstall $(^Name)"
112 OutFile "Dolphin_Installer_win32.exe"
113 InstallDir "$PROGRAMFILES\$(^Name)"
114 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
116 ShowUnInstDetails show
119 !insertmacro MUI_LANGDLL_DISPLAY
123 SetShellVarContext all
124 ; Dolphin exe and dlls
125 ; TODO: cg is only for OGL, SDL is only for nJoy
126 ; TODO: Make a nice subsection-ized display
127 SetOutPath "$INSTDIR"
129 File "${BASE_DIR}\Dolphin.exe"
130 File "..\Externals\Cg\cg.dll"
131 File "..\Externals\Cg\cgGL.dll"
132 ; File "..\Externals\Cg\cgD3D9.dll"
133 File "..\Externals\WiiUse\Win32\wiiuse.dll"
134 File "..\Externals\SDL\win32\SDL.dll"
135 File "..\Externals\OpenAL\win32\OpenAL32.dll"
136 File "..\Externals\OpenAL\win32\wrap_oal.dll"
137 ; This needs to be done after Dolphin.exe is copied
138 CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
139 CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" "$INSTDIR\Dolphin.exe"
140 CreateShortCut "$DESKTOP\Dolphin.lnk" "$INSTDIR\Dolphin.exe"
143 SetOutPath "$INSTDIR\Plugins"
145 File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll"
146 File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll"
147 File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll"
148 File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll"
149 File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll"
150 File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll"
151 File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll"
152 File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll"
153 File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll"
155 ; GC/Wii static settings
156 SetOutPath "$INSTDIR\Sys\GC"
158 File "..\Data\Sys\GC\font_ansi.bin"
159 File "..\Data\Sys\GC\font_sjis.bin"
160 SetOutPath "$INSTDIR\Sys\Wii"
162 File "..\Data\Sys\Wii\setting-eur.txt"
163 File "..\Data\Sys\Wii\setting-jpn.txt"
164 File "..\Data\Sys\Wii\setting-usa.txt"
166 ; GC/Wii User settings
167 SetOutPath "$INSTDIR\User\GC"
168 SetOutPath "$INSTDIR\User\Wii\shared2\sys"
170 File "..\Data\User\Wii\shared2\sys\readme.txt"
171 File "..\Data\User\Wii\shared2\sys\SYSCONF"
174 SetOutPath "$INSTDIR\User\GameConfig"
176 File "..\Data\User\GameConfig\*.*"
179 Section -AdditionalIcons
180 CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe"
184 WriteUninstaller "$INSTDIR\uninst.exe"
185 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe"
186 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
187 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
188 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.exe"
189 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
190 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
191 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
194 ; Section descriptions
195 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
196 !insertmacro MUI_DESCRIPTION_TEXT
${SEC01} "It is recommended that you install all of the included files."
197 !insertmacro MUI_FUNCTION_DESCRIPTION_END
200 Function un
.onUninstSuccess
202 MessageBox MB_ICONINFORMATION|
MB_OK "$(^Name) was uninstalled successfully.$\r$\n\
203 ATTENTION: You must manually delete$\r$\n$INSTDIR"
207 !insertmacro MUI_UNGETLANGUAGE
208 MessageBox MB_ICONQUESTION|
MB_YESNO|MB_DEFBUTTON2
"Are you sure you want to remove $(^Name)?" IDYES +2
213 SetShellVarContext all
214 ; Only uninstall what we put there; all $INSTDIR\User is left as is
215 Delete "$INSTDIR\uninst.exe"
216 Delete "$INSTDIR\*.dll"
217 Delete "$INSTDIR\Plugins\*.dll"
218 Delete "$INSTDIR\Sys\Wii\setting-usa.txt"
219 Delete "$INSTDIR\Sys\Wii\setting-jpn.txt"
220 Delete "$INSTDIR\Sys\Wii\setting-eur.txt"
221 Delete "$INSTDIR\Sys\GC\font_sjis.bin"
222 Delete "$INSTDIR\Sys\GC\font_ansi.bin"
223 Delete "$INSTDIR\Dolphin.exe"
225 Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk"
226 Delete "$DESKTOP\Dolphin.lnk"
227 Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk"
229 RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
230 RMDir "$INSTDIR\Sys\GC"
231 RMDir "$INSTDIR\Sys\Wii"
233 RMDir "$INSTDIR\Plugins"
236 DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
237 DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
241 Function LaunchDolphin
242 ExecShell "" "$DESKTOP\Dolphin.lnk"