1Name "@PROJECT_DESCRIPTION@"
2SetCompressor /SOLID lzma
3Unicode true
4# BrandingText " "
5# Request application privileges for Windows Vista
6RequestExecutionLevel admin
7
8# Defines
9!define SOURCE_FILES "@CMAKE_SOURCE_DIR@"
10!define BINARY_FILES "@CMAKE_BINARY_DIR@"
11!define FLUIDSYNTH_FILES "@FLUIDSYNTH_PREFIX@"
12!define DRUMSTICK_FILES "@Drumstick_DIR@"
13!define VERSION @PROJECT_VERSION@
14!define PROGNAME "@PROJECT_NAME@"
15!define CPU "@CMAKE_SYSTEM_PROCESSOR@"
16!define QTFILES "@CMAKE_BINARY_DIR@\src"
17!define QTLANG  "@CMAKE_BINARY_DIR@\src"
18!define VMPKSRC "@CMAKE_SOURCE_DIR@"
19!define VMPKBLD "@CMAKE_BINARY_DIR@"
20!define DRUMSTICK "@Drumstick_DIR@\lib"
21!define REGKEY "SOFTWARE\$(^Name)"
22!define COMPANY "@PROJECT_NAME@"
23!define URL http://vmpk.sourceforge.net/
24
25# Included files
26!include LogicLib.nsh
27!include Sections.nsh
28!include MUI2.nsh
29!include Library.nsh
30!include x64.nsh
31
32# MUI defines
33!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-install.ico"
34!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-uninstall.ico"
35!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
36!define MUI_STARTMENUPAGE_NODISABLE
37!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
38!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
39!define MUI_STARTMENUPAGE_DEFAULTFOLDER vmpk
40
41# Variables
42Var StartMenuGroup
43
44# Installer pages
45!define MUI_WELCOMEPAGE_TITLE_3LINES
46!insertmacro MUI_PAGE_WELCOME
47!insertmacro MUI_PAGE_LICENSE "@CMAKE_SOURCE_DIR@\gpl.rtf"
48!insertmacro MUI_PAGE_DIRECTORY
49!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
50!insertmacro MUI_PAGE_INSTFILES
51!define MUI_FINISHPAGE_TITLE_3LINES
52!define MUI_FINISHPAGE_NOAUTOCLOSE
53!insertmacro MUI_PAGE_FINISH
54
55!define MUI_WELCOMEPAGE_TITLE_3LINES
56!insertmacro MUI_UNPAGE_WELCOME
57!insertmacro MUI_UNPAGE_CONFIRM
58!insertmacro MUI_UNPAGE_INSTFILES
59!define MUI_FINISHPAGE_TITLE_3LINES
60!insertmacro MUI_UNPAGE_FINISH
61
62# Installer languages
63!insertmacro MUI_LANGUAGE "English"
64!insertmacro MUI_LANGUAGE "Czech"
65!insertmacro MUI_LANGUAGE "French"
66!insertmacro MUI_LANGUAGE "Galician"
67!insertmacro MUI_LANGUAGE "German"
68!insertmacro MUI_LANGUAGE "Russian"
69!insertmacro MUI_LANGUAGE "Serbian"
70!insertmacro MUI_LANGUAGE "Spanish"
71!insertmacro MUI_LANGUAGE "Swedish"
72
73# Installer attributes
74OutFile vmpk-${VERSION}-win-${CPU}-setup.exe
75#InstallDir $PROGRAMFILES\vmpk
76CRCCheck on
77XPStyle on
78ShowInstDetails show
79VIProductVersion @PROJECT_VERSION@.0
80VIAddVersionKey /LANG=0 ProductName "@PROJECT_NAME@"
81VIAddVersionKey /LANG=0 ProductVersion "${VERSION}"
82VIAddVersionKey /LANG=0 CompanyName "${COMPANY}"
83VIAddVersionKey /LANG=0 CompanyWebsite "${URL}"
84VIAddVersionKey /LANG=0 FileVersion "${VERSION}"
85VIAddVersionKey /LANG=0 FileDescription "@PROJECT_DESCRIPTION@"
86VIAddVersionKey /LANG=0 LegalCopyright "Copyright (C) 2008-2021 Pedro Lopez-Cabanillas and others"
87InstallDirRegKey HKLM "${REGKEY}" Path
88ShowUninstDetails show
89Icon ${VMPKSRC}\src\vmpk.ico
90UninstallIcon ${VMPKSRC}\src\vmpk.ico
91
92# Installer sections
93Section -Main SEC0000
94    CreateDirectory $INSTDIR\bearer
95    CreateDirectory $INSTDIR\drumstick2
96    CreateDirectory $INSTDIR\iconengines
97    CreateDirectory $INSTDIR\imageformats
98    CreateDirectory $INSTDIR\platforms
99    CreateDirectory $INSTDIR\styles
100    CreateDirectory $INSTDIR\translations
101    SetOverwrite on
102    SetOutPath $INSTDIR\translations
103    File ${VMPKBLD}\translations\vmpk_cs.qm
104    File ${VMPKBLD}\translations\vmpk_de.qm
105    File ${VMPKBLD}\translations\vmpk_es.qm
106    File ${VMPKBLD}\translations\vmpk_fr.qm
107    File ${VMPKBLD}\translations\vmpk_gl.qm
108    File ${VMPKBLD}\translations\vmpk_ru.qm
109    File ${VMPKBLD}\translations\vmpk_sr.qm
110    File ${VMPKBLD}\translations\vmpk_sv.qm
111    File ${QTLANG}\translations\qt_cs.qm
112    File ${QTLANG}\translations\qt_de.qm
113    File ${QTLANG}\translations\qt_es.qm
114    File ${QTLANG}\translations\qt_fr.qm
115    #File ${QTLANG}\translations\qt_gl.qm
116    File ${QTLANG}\translations\qt_ru.qm
117    #File ${QTLANG}\translations\qt_sr.qm
118    #File ${QTLANG}\translations\qt_sv.qm
119
120    SetOutPath $INSTDIR
121    File ${VMPKBLD}\src\vc_redist.${CPU}.exe
122    File ${VMPKBLD}\src\vmpk.exe
123    File ${VMPKSRC}\data\spanish.xml
124    File ${VMPKSRC}\data\german.xml
125    File ${VMPKSRC}\data\azerty.xml
126    File ${VMPKSRC}\data\it-qwerty.xml
127    File ${VMPKSRC}\data\vkeybd-default.xml
128    File ${VMPKSRC}\data\pc102win.xml
129    File ${VMPKSRC}\data\Serbian-lat.xml
130    File ${VMPKSRC}\data\Serbian-cyr.xml
131    File ${VMPKSRC}\data\gmgsxg.ins
132    File ${VMPKSRC}\data\help.html
133    File ${VMPKSRC}\data\help_de.html
134    File ${VMPKSRC}\data\help_es.html
135    File ${VMPKSRC}\data\help_fr.html
136    File ${VMPKSRC}\data\help_sr.html
137    File ${VMPKSRC}\data\help_ru.html
138    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_cs.qm
139    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_de.qm
140    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_es.qm
141    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_fr.qm
142    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_gl.qm
143    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_ru.qm
144    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_sr.qm
145    File ${DRUMSTICK_FILES}\library\widgets\drumstick-widgets_sv.qm
146
147    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\Qt5Core.dll $INSTDIR\Qt5Core.dll $INSTDIR
148    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\Qt5Gui.dll $INSTDIR\Qt5Gui.dll $INSTDIR
149    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\Qt5Network.dll $INSTDIR\Qt5Network.dll $INSTDIR
150    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\Qt5Svg.dll $INSTDIR\Qt5Svg.dll $INSTDIR
151    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\Qt5Widgets.dll $INSTDIR\Qt5Widgets.dll $INSTDIR
152    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\libEGL.dll $INSTDIR\libEGL.dll $INSTDIR
153    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\libGLESV2.dll $INSTDIR\libGLESV2.dll $INSTDIR
154    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\opengl32sw.dll $INSTDIR\opengl32sw.dll $INSTDIR
155    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\d3dcompiler_47.dll $INSTDIR\d3dcompiler_47.dll $INSTDIR
156    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\platforms\qwindows.dll $INSTDIR\platforms\qwindows.dll $INSTDIR
157    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\iconengines\qsvgicon.dll $INSTDIR\iconengines\qsvgicon.dll $INSTDIR
158    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\bearer\qgenericbearer.dll $INSTDIR\bearer\qgenericbearer.dll $INSTDIR
159    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\imageformats\qgif.dll $INSTDIR\imageformats\qgif.dll $INSTDIR
160    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\imageformats\qicns.dll $INSTDIR\imageformats\qicns.dll $INSTDIR
161    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\imageformats\qico.dll $INSTDIR\imageformats\qico.dll $INSTDIR
162    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\imageformats\qjpeg.dll $INSTDIR\imageformats\qjpeg.dll $INSTDIR
163    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\imageformats\qsvg.dll $INSTDIR\imageformats\qsvg.dll $INSTDIR
164    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${QTFILES}\styles\qwindowsvistastyle.dll $INSTDIR\styles\qwindowsvistastyle.dll $INSTDIR
165    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick-rt.dll $INSTDIR\drumstick-rt.dll $INSTDIR
166    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick-widgets.dll $INSTDIR\drumstick-widgets.dll $INSTDIR
167    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick2\drumstick-rt-net-in.dll $INSTDIR\drumstick2\drumstick-rt-net-in.dll $INSTDIR
168    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick2\drumstick-rt-net-out.dll $INSTDIR\drumstick2\drumstick-rt-net-out.dll $INSTDIR
169    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick2\drumstick-rt-win-in.dll $INSTDIR\drumstick2\drumstick-rt-win-in.dll $INSTDIR
170    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick2\drumstick-rt-win-out.dll $INSTDIR\drumstick2\drumstick-rt-win-out.dll $INSTDIR
171    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${DRUMSTICK}\drumstick2\drumstick-rt-fluidsynth.dll $INSTDIR\drumstick2\drumstick-rt-fluidsynth.dll $INSTDIR
172    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\libfluidsynth-3.dll $INSTDIR\libfluidsynth-3.dll $INSTDIR
173    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\glib-2.0-0.dll $INSTDIR\glib-2.0-0.dll $INSTDIR
174    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\iconv-2.dll $INSTDIR\iconv-2.dll $INSTDIR
175    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\intl-8.dll $INSTDIR\intl-8.dll $INSTDIR
176    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\pcre.dll $INSTDIR\pcre.dll $INSTDIR
177    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\FLAC.dll $INSTDIR\FLAC.dll $INSTDIR
178    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\ogg.dll $INSTDIR\ogg.dll $INSTDIR
179    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\opus.dll $INSTDIR\opus.dll $INSTDIR
180    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\sndfile.dll $INSTDIR\sndfile.dll $INSTDIR
181    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\vorbis.dll $INSTDIR\vorbis.dll $INSTDIR
182    !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${FLUIDSYNTH_FILES}\bin\vorbisenc.dll $INSTDIR\vorbisenc.dll $INSTDIR
183    WriteRegStr HKLM "${REGKEY}\Components" Main 1
184SectionEnd
185
186Section -post SEC0001
187    WriteRegStr HKLM "${REGKEY}" Path $INSTDIR
188    SetOutPath $INSTDIR
189    WriteUninstaller $INSTDIR\uninstall.exe
190    !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
191    CreateDirectory $SMPROGRAMS\$StartMenuGroup
192    SetOutPath $SMPROGRAMS\$StartMenuGroup
193    CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall VMPK.lnk" $INSTDIR\uninstall.exe
194    CreateShortcut "$SMPROGRAMS\$StartMenuGroup\VMPK.lnk" $INSTDIR\vmpk.exe
195    !insertmacro MUI_STARTMENU_WRITE_END
196    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
197    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
198    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
199    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
200    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
201    WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
202    WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
203    WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
204    ;VS2015 Runtime
205    ;ReadRegStr $1 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\${CPU}" "Version"
206    ;StrCmp $1 "v14.28.29914.00" installed
207    ;not installed, so run the installer
208    ExecWait '"$INSTDIR\vc_redist.${CPU}.exe" /install /quiet /norestart'
209    ;installed:
210SectionEnd
211
212# Macro for selecting uninstaller sections
213!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
214    Push $R0
215    ReadRegStr $R0 HKLM "${REGKEY}\Components" "${SECTION_NAME}"
216    StrCmp $R0 1 0 next${UNSECTION_ID}
217    !insertmacro SelectSection "${UNSECTION_ID}"
218    GoTo done${UNSECTION_ID}
219next${UNSECTION_ID}:
220    !insertmacro UnselectSection "${UNSECTION_ID}"
221done${UNSECTION_ID}:
222    Pop $R0
223!macroend
224
225# Uninstaller sections
226Section /o -un.Main UNSEC0000
227    Delete /REBOOTOK $INSTDIR\translations\qt_cs.qm
228    Delete /REBOOTOK $INSTDIR\translations\qt_de.qm
229    Delete /REBOOTOK $INSTDIR\translations\qt_es.qm
230    Delete /REBOOTOK $INSTDIR\translations\qt_fr.qm
231#   Delete /REBOOTOK $INSTDIR\translations\qt_gl.qm
232    Delete /REBOOTOK $INSTDIR\translations\qt_ru.qm
233#   Delete /REBOOTOK $INSTDIR\translations\qt_sv.qm
234#   Delete /REBOOTOK $INSTDIR\translations\qt_sr.qm
235    Delete /REBOOTOK $INSTDIR\translations\vmpk_cs.qm
236    Delete /REBOOTOK $INSTDIR\translations\vmpk_de.qm
237    Delete /REBOOTOK $INSTDIR\translations\vmpk_es.qm
238    Delete /REBOOTOK $INSTDIR\translations\vmpk_fr.qm
239    Delete /REBOOTOK $INSTDIR\translations\vmpk_gl.qm
240    Delete /REBOOTOK $INSTDIR\translations\vmpk_ru.qm
241    Delete /REBOOTOK $INSTDIR\translations\vmpk_sv.qm
242    Delete /REBOOTOK $INSTDIR\translations\vmpk_sr.qm
243    Delete /REBOOTOK $INSTDIR\drumstick-widgets_cs.qm
244    Delete /REBOOTOK $INSTDIR\drumstick-widgets_de.qm
245    Delete /REBOOTOK $INSTDIR\drumstick-widgets_es.qm
246    Delete /REBOOTOK $INSTDIR\drumstick-widgets_fr.qm
247    Delete /REBOOTOK $INSTDIR\drumstick-widgets_gl.qm
248    Delete /REBOOTOK $INSTDIR\drumstick-widgets_ru.qm
249    Delete /REBOOTOK $INSTDIR\drumstick-widgets_sr.qm
250    Delete /REBOOTOK $INSTDIR\drumstick-widgets_sv.qm
251
252    Delete /REBOOTOK $INSTDIR\vmpk.exe
253    Delete /REBOOTOK $INSTDIR\vc_redist.${CPU}.exe
254    Delete /REBOOTOK $INSTDIR\spanish.xml
255    Delete /REBOOTOK $INSTDIR\german.xml
256    Delete /REBOOTOK $INSTDIR\azerty.xml
257    Delete /REBOOTOK $INSTDIR\it-qwerty.xml
258    Delete /REBOOTOK $INSTDIR\vkeybd-default.xml
259    Delete /REBOOTOK $INSTDIR\pc102win.xml
260    Delete /REBOOTOK $INSTDIR\Serbian-lat.xml
261    Delete /REBOOTOK $INSTDIR\Serbian-cyr.xml
262    Delete /REBOOTOK $INSTDIR\gmgsxg.ins
263    Delete /REBOOTOK $INSTDIR\help.html
264    Delete /REBOOTOK $INSTDIR\help_de.html
265    Delete /REBOOTOK $INSTDIR\help_es.html
266    Delete /REBOOTOK $INSTDIR\help_fr.html
267    Delete /REBOOTOK $INSTDIR\help_ru.html
268    Delete /REBOOTOK $INSTDIR\help_sr.html
269
270    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\Qt5Core.dll
271    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\Qt5Gui.dll
272    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\Qt5Network.dll
273    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\Qt5Svg.dll
274    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\Qt5Widgets.dll
275    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\libEGL.dll
276    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\libGLESV2.dll
277    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\opengl32sw.dll
278    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\d3dcompiler_47.dll
279    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\platforms\qwindows.dll
280    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\iconengines\qsvgicon.dll
281    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\bearer\qgenericbearer.dll
282    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\imageformats\qgif.dll
283    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\imageformats\qicns.dll
284    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\imageformats\qico.dll
285    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\imageformats\qjpeg.dll
286    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\imageformats\qsvg.dll
287    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\styles\qwindowsvistastyle.dll
288    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick-rt.dll
289    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick-widgets.dll
290    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick2\drumstick-rt-net-in.dll
291    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick2\drumstick-rt-net-out.dll
292    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick2\drumstick-rt-win-in.dll
293    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick2\drumstick-rt-win-out.dll
294    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\drumstick2\drumstick-rt-fluidsynth.dll
295    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\libfluidsynth-3.dll
296    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\glib-2.0-0.dll
297    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\intl-8.dll
298    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\iconv-2.dll
299    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\pcre.dll
300    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\FLAC.dll
301    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\ogg.dll
302    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\opus.dll
303    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\sndfile.dll
304    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\vorbis.dll
305    !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\vorbisenc.dll
306
307    RMDir /REBOOTOK $INSTDIR\translations
308    RMDir /REBOOTOK $INSTDIR\styles
309    RMDir /REBOOTOK $INSTDIR\platforms
310    RMDir /REBOOTOK $INSTDIR\imageformats
311    RMDir /REBOOTOK $INSTDIR\iconengines
312    RMDir /REBOOTOK $INSTDIR\drumstick2
313    RMDir /REBOOTOK $INSTDIR\bearer
314    DeleteRegValue HKLM "${REGKEY}\Components" Main
315SectionEnd
316
317Section -un.post UNSEC0001
318    DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
319    Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall VMPK.lnk"
320    Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\VMPK.lnk"
321    Delete /REBOOTOK $INSTDIR\uninstall.exe
322    DeleteRegValue HKLM "${REGKEY}" StartMenuGroup
323    DeleteRegValue HKLM "${REGKEY}" Path
324    DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components"
325    DeleteRegKey /IfEmpty HKLM "${REGKEY}"
326    RMDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
327    RMDir /REBOOTOK $INSTDIR
328SectionEnd
329
330#Installer Functions
331Function .onInit
332    !insertmacro MUI_LANGDLL_DISPLAY
333    ${If} ${RunningX64}
334        ${If} ${CPU} == "x86"
335            StrCpy $INSTDIR "$PROGRAMFILES32\${PROGNAME}"
336        ${Else}
337            StrCpy $INSTDIR "$PROGRAMFILES64\${PROGNAME}"
338        ${EndIf}
339    ${Else}
340        ${If} ${CPU} == "x64"
341            MessageBox MB_OK|MB_ICONSTOP "Sorry, this setup package is for 64 bit systems only."
342            Quit
343        ${EndIf}
344        StrCpy $INSTDIR "$PROGRAMFILES\${PROGNAME}"
345    ${EndIf}
346FunctionEnd
347
348# Uninstaller functions
349Function un.onInit
350    !insertmacro MUI_UNGETLANGUAGE
351    ReadRegStr $INSTDIR HKLM "${REGKEY}" Path
352    !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
353    !insertmacro SELECT_UNSECTION Main ${UNSEC0000}
354FunctionEnd
355