1!if "@ARCH@" == x86
2  !define arch_x86
3!endif
4
5!if "@ARCH@" == i686-w64-mingw32.shared
6  !define arch_x86
7!endif
8
9!if "@ARCH@" == x86_64
10  !define arch_x64
11!endif
12
13!if "@ARCH@" == x86_64-w64-mingw32.shared
14  !define arch_x64
15!endif
16
17!if "@CMAKE_BUILD_TYPE@" == Debug
18  !define debug
19!endif
20
21!if "@BUILD_WITH_QT6@" == "ON"
22  !define with_qt6
23!endif
24
25!ifdef debug
26  !define PRODUCT_NAME "Strawberry Music Player Debug"
27  !define PRODUCT_NAME_SHORT "Strawberry"
28  !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}Debug"
29  !ifdef arch_x86
30    !define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player Debug"
31  !endif
32  !ifdef arch_x64
33    !define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player Debug"
34  !endif
35!else
36  !define PRODUCT_NAME "Strawberry Music Player"
37  !define PRODUCT_NAME_SHORT "Strawberry"
38  !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}"
39  !ifdef arch_x86
40    !define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player"
41  !endif
42  !ifdef arch_x64
43    !define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player"
44  !endif
45!endif
46
47!define PRODUCT_VERSION_MAJOR @STRAWBERRY_VERSION_MAJOR@
48!define PRODUCT_VERSION_MINOR @STRAWBERRY_VERSION_MINOR@
49!define PRODUCT_VERSION_PATCH @STRAWBERRY_VERSION_PATCH@
50!define PRODUCT_DISPLAY_VERSION "@STRAWBERRY_VERSION_PACKAGE@"
51!define PRODUCT_DISPLAY_VERSION_SHORT "@STRAWBERRY_VERSION_PACKAGE@"
52
53!define PRODUCT_PUBLISHER "Jonas Kvinge"
54!define PRODUCT_WEB_SITE "https://www.strawberrymusicplayer.org/"
55
56!define PRODUCT_UNINST_ROOT_KEY "HKLM"
57
58; Set Application Capabilities info
59!define CAPABILITIES_NAME "Strawberry Music Player"
60!define CAPABILITIES_LOCAL_NAME "Strawberry"
61!define CAPABILITIES_PROGID "Strawberry Music Player"
62!define CAPABILITIES_PATH "Software\Clients\Media\Strawberry"
63!define CAPABILITIES_DESCRIPTION "Strawberry Music Player"
64!define CAPABILITIES_ICON "$INSTDIR\strawberry.ico"
65!define CAPABILITIES_REINSTALL "Command to reinstall"
66!define CAPABILITIES_HIDE_ICONS "Command to hide icons"
67!define CAPABILITIES_SHOW_ICONS "Command to show icons"
68
69Unicode True
70
71SetCompressor /SOLID lzma
72
73!include "MUI2.nsh"
74!include "FileAssociation.nsh"
75!include "Capabilities.nsh"
76!include LogicLib.nsh
77!include x64.nsh
78
79!define MUI_ICON "strawberry.ico"
80
81!define MUI_COMPONENTSPAGE_SMALLDESC
82
83ReserveFile "${NSISDIR}/Plugins/x86-unicode/LockedList.dll"
84ReserveFile "${NSISDIR}/Plugins/LockedList64.dll"
85!define LockedListPATH	$InstallDir
86
87; Installer pages
88!insertmacro MUI_PAGE_WELCOME
89!insertmacro MUI_PAGE_LICENSE COPYING
90Page Custom LockedListPageShow
91!insertmacro MUI_PAGE_DIRECTORY
92!insertmacro MUI_PAGE_INSTFILES
93!insertmacro MUI_PAGE_FINISH
94
95; Uninstaller pages
96!insertmacro MUI_UNPAGE_CONFIRM
97UninstPage custom un.LockedListPageShow
98!insertmacro MUI_UNPAGE_INSTFILES
99!insertmacro MUI_UNPAGE_FINISH
100
101!insertmacro MUI_LANGUAGE "English" ;first language is the default language
102
103Name "${PRODUCT_NAME}"
104!ifdef arch_x86
105  !ifdef debug
106    !ifdef with_qt6
107      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-Debug-x86.exe"
108    !else
109      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt5-Debug-x86.exe"
110    !endif
111  !else
112    !ifdef with_qt6
113      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-x86.exe"
114    !else
115      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt5-x86.exe"
116    !endif
117  !endif
118!endif
119
120!ifdef arch_x64
121  !ifdef debug
122    !ifdef with_qt6
123      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-Debug-x64.exe"
124    !else
125      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt5-Debug-x64.exe"
126    !endif
127  !else
128    !ifdef with_qt6
129      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-x64.exe"
130    !else
131      OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt5-x64.exe"
132    !endif
133  !endif
134!endif
135
136InstallDir "${PRODUCT_INSTALL_DIR}"
137
138; Get the path where Strawberry was installed previously and set it as default path
139InstallDirRegKey ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
140
141ShowInstDetails show
142ShowUnInstDetails show
143RequestExecutionLevel admin
144
145Function LockedListPageShow
146  LockedList::AddModule /NOUNLOAD \strawberry.exe
147  LockedList::Dialog /heading "Checking for running programs:" /noprograms "No programs need to close." /searching "Searching for running programs..."
148FunctionEnd
149
150Function un.LockedListPageShow
151  LockedList::AddModule /NOUNLOAD \strawberry.exe
152  LockedList::Dialog /heading "Checking for running programs:" /noprograms "No programs need to close." /searching "Searching for running programs..."
153FunctionEnd
154
155; Check for previous installation, and call the uninstaller if any
156Function CheckPreviousInstall
157
158  ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
159  StrCmp $R0 "" done
160
161  MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
162  "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \
163  previous version or `Cancel` to cancel this upgrade." \
164  IDOK uninst
165  Abort
166; Run the uninstaller
167uninst:
168  ClearErrors
169  ExecWait '$R0' ; Do not copy the uninstaller to a temp file
170
171done:
172
173FunctionEnd
174
175Function .onInit
176
177  !insertmacro MUI_LANGDLL_DISPLAY
178
179  Call CheckPreviousInstall
180
181FunctionEnd
182
183Section "Delete old files" oldfiles
184SectionEnd
185
186Section "Strawberry" Strawberry
187  SetOutPath "$INSTDIR"
188
189  File "strawberry.exe"
190  File "strawberry-tagreader.exe"
191  File "strawberry.ico"
192  File "sqlite3.exe"
193  File "gst-launch-1.0.exe"
194  File "gst-discoverer-1.0.exe"
195
196!ifdef arch_x86
197  File "libgcc_s_sjlj-1.dll"
198  File "libcrypto-3.dll"
199  File "libssl-3.dll"
200!endif
201
202!ifdef arch_x64
203  File "libgcc_s_seh-1.dll"
204  File "libcrypto-3-x64.dll"
205  File "libssl-3-x64.dll"
206!endif
207
208  File "avcodec-58.dll"
209  File "avfilter-7.dll"
210  File "avformat-58.dll"
211  File "avutil-56.dll"
212  File "libbrotlicommon.dll"
213  File "libbrotlidec.dll"
214  File "libbz2.dll"
215  File "libcdio-19.dll"
216  File "libchromaprint.dll"
217  File "libdl.dll"
218  File "libfaac-0.dll"
219  File "libfaad-2.dll"
220  File "libffi-7.dll"
221  File "libfftw3-3.dll"
222  File "libFLAC-8.dll"
223  File "libfreetype-6.dll"
224  File "libgio-2.0-0.dll"
225  File "libglib-2.0-0.dll"
226  File "libgmodule-2.0-0.dll"
227  File "libgmp-10.dll"
228  File "libgnutls-30.dll"
229  File "libgobject-2.0-0.dll"
230  File "libgstapp-1.0-0.dll"
231  File "libgstaudio-1.0-0.dll"
232  File "libgstbadaudio-1.0-0.dll"
233  File "libgstbase-1.0-0.dll"
234  File "libgstfft-1.0-0.dll"
235  File "libgstnet-1.0-0.dll"
236  File "libgstpbutils-1.0-0.dll"
237  File "libgstreamer-1.0-0.dll"
238  File "libgstriff-1.0-0.dll"
239  File "libgstrtp-1.0-0.dll"
240  File "libgstrtsp-1.0-0.dll"
241  File "libgstsdp-1.0-0.dll"
242  File "libgsttag-1.0-0.dll"
243  File "libgstvideo-1.0-0.dll"
244  File "libharfbuzz-0.dll"
245  File "libhogweed-6.dll"
246  File "libiconv-2.dll"
247  File "libidn2-0.dll"
248  File "libintl-8.dll"
249  File "libjpeg-9.dll"
250  File "liblzma-5.dll"
251  File "libmp3lame-0.dll"
252  File "libnettle-8.dll"
253  File "libogg-0.dll"
254  File "libopenmpt-0.dll"
255  File "libopus-0.dll"
256  File "liborc-0.4-0.dll"
257  File "libpcre-1.dll"
258  File "libpcre2-16-0.dll"
259  File "libpng16-16.dll"
260  File "libprotobuf-29.dll"
261  File "libpsl-5.dll"
262  File "libsoup-2.4-1.dll"
263  File "libspeex-1.dll"
264  File "libsqlite3-0.dll"
265  File "libssp-0.dll"
266  File "libstdc++-6.dll"
267  File "libtag.dll"
268  File "libtasn1-6.dll"
269  File "libunistring-2.dll"
270  File "libvorbis-0.dll"
271  File "libvorbisenc-2.dll"
272  File "libvorbisfile-3.dll"
273  File "libwavpack-1.dll"
274  File "libwinpthread-1.dll"
275  File "libxml2-2.dll"
276  File "libzstd.dll"
277  File "postproc-55.dll"
278  File "swresample-3.dll"
279  File "swscale-5.dll"
280  File "zlib1.dll"
281
282!ifdef with_qt6
283  File "Qt6Concurrent.dll"
284  File "Qt6Core.dll"
285  File "Qt6Gui.dll"
286  File "Qt6Network.dll"
287  File "Qt6Sql.dll"
288  File "Qt6Widgets.dll"
289  File "libqtsparkle-qt6.dll"
290!else
291  File "Qt5Concurrent.dll"
292  File "Qt5Core.dll"
293  File "Qt5Gui.dll"
294  File "Qt5Network.dll"
295  File "Qt5Sql.dll"
296  File "Qt5Widgets.dll"
297  File "libqtsparkle-qt5.dll"
298!endif
299
300!ifdef debug
301  File "gdb.exe"
302  File "libexpat-1.dll"
303  File "libmman.dll"
304  File "libmpfr-6.dll"
305  File "libreadline8.dll"
306  File "libtermcap.dll"
307!endif
308
309  ; Register Strawberry with Default Programs
310  Var /GLOBAL AppIcon
311  Var /GLOBAL AppExe
312  StrCpy $AppExe "$INSTDIR\strawberry.exe"
313  StrCpy $AppIcon "$INSTDIR\strawberry.ico"
314
315  ${RegisterCapabilities}
316
317  ${RegisterMediaType} ".mp3" $AppExe $AppIcon "MP3 Audio File"
318  ${RegisterMediaType} ".flac" $AppExe $AppIcon "FLAC Audio File"
319  ${RegisterMediaType} ".ogg" $AppExe $AppIcon "OGG Audio File"
320  ${RegisterMediaType} ".spx" $AppExe $AppIcon "OGG Speex Audio File"
321  ${RegisterMediaType} ".m4a" $AppExe $AppIcon "MP4 Audio File"
322  ${RegisterMediaType} ".aac" $AppExe $AppIcon "AAC Audio File"
323  ${RegisterMediaType} ".wma" $AppExe $AppIcon "WMA Audio File"
324  ${RegisterMediaType} ".wav" $AppExe $AppIcon "WAV Audio File"
325
326  ${RegisterMediaType} ".pls" $AppExe $AppIcon "PLS Audio File"
327  ${RegisterMediaType} ".m3u" $AppExe $AppIcon "M3U Audio File"
328  ${RegisterMediaType} ".xspf" $AppExe $AppIcon "XSPF Audio File"
329  ${RegisterMediaType} ".asx" $AppExe $AppIcon "Windows Media Audio/Video playlist"
330
331  ${RegisterMimeType} "audio/mp3" "mp3" "{cd3afa76-b84f-48f0-9393-7edc34128127}"
332  ${RegisterMimeType} "audio/mp4" "m4a" "{cd3afa7c-b84f-48f0-9393-7edc34128127}"
333  ${RegisterMimeType} "audio/x-ms-wma" "wma" "{cd3afa84-b84f-48f0-9393-7edc34128127}"
334  ${RegisterMimeType} "audio/wav" "wav" "{cd3afa7b-b84f-48f0-9393-7edc34128127}"
335
336  ${RegisterMimeType} "audio/mpegurl" "m3u" "{cd3afa78-b84f-48f0-9393-7edc34128127}"
337  ${RegisterMimeType} "application/x-wmplayer" "asx" "{cd3afa96-b84f-48f0-9393-7edc34128127}"
338
339SectionEnd
340
341Section "GIO modules" gio-modules
342  SetOutPath "$INSTDIR\gio-modules"
343  File "/oname=libgiognutls.dll" "gio-modules\libgiognutls.dll"
344SectionEnd
345
346Section "Qt Platform plugins" platforms
347  SetOutPath "$INSTDIR\platforms"
348  File "/oname=qwindows.dll" "platforms\qwindows.dll"
349SectionEnd
350
351Section "Qt styles" styles
352  SetOutPath "$INSTDIR\styles"
353  File "/oname=qwindowsvistastyle.dll" "styles\qwindowsvistastyle.dll"
354SectionEnd
355
356Section "Qt imageformats" imageformats
357  SetOutPath "$INSTDIR\imageformats"
358  File "/oname=qgif.dll" "imageformats\qgif.dll"
359  File "/oname=qico.dll" "imageformats\qico.dll"
360  File "/oname=qjpeg.dll" "imageformats\qjpeg.dll"
361SectionEnd
362
363!ifdef with_qt6
364Section "Qt TLS plugins" tls
365  SetOutPath "$INSTDIR\tls"
366  File "/oname=qopensslbackend.dll" "tls\qopensslbackend.dll"
367SectionEnd
368!endif
369
370Section "Qt SQL Drivers" sqldrivers
371  SetOutPath "$INSTDIR\sqldrivers"
372  File "/oname=qsqlite.dll" "sqldrivers\qsqlite.dll"
373SectionEnd
374
375Section "Gstreamer plugins" gstreamer-plugins
376  SetOutPath "$INSTDIR\gstreamer-plugins"
377
378  File "/oname=libgstapp.dll" "gstreamer-plugins\libgstapp.dll"
379  File "/oname=libgstcoreelements.dll" "gstreamer-plugins\libgstcoreelements.dll"
380  File "/oname=libgstaudioconvert.dll" "gstreamer-plugins\libgstaudioconvert.dll"
381  File "/oname=libgstaudiofx.dll" "gstreamer-plugins\libgstaudiofx.dll"
382  File "/oname=libgstaudiomixer.dll" "gstreamer-plugins\libgstaudiomixer.dll"
383  File "/oname=libgstaudioparsers.dll" "gstreamer-plugins\libgstaudioparsers.dll"
384  File "/oname=libgstaudiorate.dll" "gstreamer-plugins\libgstaudiorate.dll"
385  File "/oname=libgstaudioresample.dll" "gstreamer-plugins\libgstaudioresample.dll"
386  File "/oname=libgstaudiotestsrc.dll" "gstreamer-plugins\libgstaudiotestsrc.dll"
387  File "/oname=libgstautodetect.dll" "gstreamer-plugins\libgstautodetect.dll"
388  File "/oname=libgstplayback.dll" "gstreamer-plugins\libgstplayback.dll"
389  File "/oname=libgstvolume.dll" "gstreamer-plugins\libgstvolume.dll"
390  File "/oname=libgstspectrum.dll" "gstreamer-plugins\libgstspectrum.dll"
391  File "/oname=libgstequalizer.dll" "gstreamer-plugins\libgstequalizer.dll"
392  File "/oname=libgstreplaygain.dll" "gstreamer-plugins\libgstreplaygain.dll"
393  File "/oname=libgsttypefindfunctions.dll" "gstreamer-plugins\libgsttypefindfunctions.dll"
394  File "/oname=libgstgio.dll" "gstreamer-plugins\libgstgio.dll"
395  File "/oname=libgstdirectsound.dll" "gstreamer-plugins\libgstdirectsound.dll"
396  File "/oname=libgstwasapi.dll" "gstreamer-plugins\libgstwasapi.dll"
397  File "/oname=libgstapetag.dll" "gstreamer-plugins\libgstapetag.dll"
398  File "/oname=libgsticydemux.dll" "gstreamer-plugins\libgsticydemux.dll"
399  File "/oname=libgstid3demux.dll" "gstreamer-plugins\libgstid3demux.dll"
400  File "/oname=libgsttaglib.dll" "gstreamer-plugins\libgsttaglib.dll"
401  File "/oname=libgsttcp.dll" "gstreamer-plugins\libgsttcp.dll"
402  File "/oname=libgstudp.dll" "gstreamer-plugins\libgstudp.dll"
403  File "/oname=libgstsoup.dll" "gstreamer-plugins\libgstsoup.dll"
404  File "/oname=libgstcdio.dll" "gstreamer-plugins\libgstcdio.dll"
405  File "/oname=libgstflac.dll" "gstreamer-plugins\libgstflac.dll"
406  File "/oname=libgstwavparse.dll" "gstreamer-plugins\libgstwavparse.dll"
407  File "/oname=libgstwavpack.dll" "gstreamer-plugins\libgstwavpack.dll"
408  File "/oname=libgstogg.dll" "gstreamer-plugins\libgstogg.dll"
409  File "/oname=libgstvorbis.dll" "gstreamer-plugins\libgstvorbis.dll"
410  File "/oname=libgstopus.dll" "gstreamer-plugins\libgstopus.dll"
411  File "/oname=libgstopusparse.dll" "gstreamer-plugins\libgstopusparse.dll"
412  File "/oname=libgstspeex.dll" "gstreamer-plugins\libgstspeex.dll"
413  File "/oname=libgstlame.dll" "gstreamer-plugins\libgstlame.dll"
414  File "/oname=libgstaiff.dll" "gstreamer-plugins\libgstaiff.dll"
415  File "/oname=libgstfaac.dll" "gstreamer-plugins\libgstfaac.dll"
416  File "/oname=libgstfaad.dll" "gstreamer-plugins\libgstfaad.dll"
417  File "/oname=libgstisomp4.dll" "gstreamer-plugins\libgstisomp4.dll"
418  File "/oname=libgstasf.dll" "gstreamer-plugins\libgstasf.dll"
419  File "/oname=libgstasfmux.dll" "gstreamer-plugins\libgstasfmux.dll"
420  File "/oname=libgstlibav.dll" "gstreamer-plugins\libgstlibav.dll"
421  File "/oname=libgstpbtypes.dll" "gstreamer-plugins\libgstpbtypes.dll"
422  File "/oname=libgstrtp.dll" "gstreamer-plugins\libgstrtp.dll"
423  File "/oname=libgstrtsp.dll" "gstreamer-plugins\libgstrtsp.dll"
424  File "/oname=libgstopenmpt.dll" "gstreamer-plugins\libgstopenmpt.dll"
425
426SectionEnd
427
428Section "Start menu items" startmenu
429  ; Create Start Menu folders and shortcuts.
430  SetShellVarContext all
431
432  CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
433  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\strawberry.exe"
434  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
435
436SectionEnd
437
438Section "Tidal URL Scheme"
439  WriteRegStr HKCR "tidal" "URL Protocol" ""
440  WriteRegStr HKCR "tidal" "" "URL:tidal"
441  WriteRegStr HKCR 'tidal\shell\open\command' '' '"${PRODUCT_INSTALL_DIR}\strawberry.exe" "%1"'
442SectionEnd
443
444Section "Uninstaller"
445  ; Create uninstaller
446  WriteUninstaller "$INSTDIR\Uninstall.exe"
447
448  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
449  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe"
450  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\strawberry.ico"
451  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_DISPLAY_VERSION}"
452  WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMajor" "${PRODUCT_VERSION_MAJOR}"
453  WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMinor" "${PRODUCT_VERSION_MINOR}"
454  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
455  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
456
457SectionEnd
458
459Section "Uninstall"
460
461  ; Delete all the files
462
463  Delete "$INSTDIR\strawberry.ico"
464  Delete "$INSTDIR\strawberry.exe"
465  Delete "$INSTDIR\strawberry-tagreader.exe"
466  Delete "$INSTDIR\sqlite3.exe"
467  Delete "$INSTDIR\gst-launch-1.0.exe"
468  Delete "$INSTDIR\gst-discoverer-1.0.exe"
469
470!ifdef arch_x86
471  Delete "$INSTDIR\libgcc_s_sjlj-1.dll"
472  Delete "$INSTDIR\libcrypto-3.dll"
473  Delete "$INSTDIR\libssl-3.dll"
474!endif
475
476!ifdef arch_x64
477  Delete "$INSTDIR\libgcc_s_seh-1.dll"
478  Delete "$INSTDIR\libcrypto-3-x64.dll"
479  Delete "$INSTDIR\libssl-3-x64.dll"
480!endif
481
482  Delete "$INSTDIR\avcodec-58.dll"
483  Delete "$INSTDIR\avfilter-7.dll"
484  Delete "$INSTDIR\avformat-58.dll"
485  Delete "$INSTDIR\avutil-56.dll"
486  Delete "$INSTDIR\libbrotlicommon.dll"
487  Delete "$INSTDIR\libbrotlidec.dll"
488  Delete "$INSTDIR\libbz2.dll"
489  Delete "$INSTDIR\libcdio-19.dll"
490  Delete "$INSTDIR\libchromaprint.dll"
491  Delete "$INSTDIR\libdl.dll"
492  Delete "$INSTDIR\libfaac-0.dll"
493  Delete "$INSTDIR\libfaad-2.dll"
494  Delete "$INSTDIR\libffi-7.dll"
495  Delete "$INSTDIR\libfftw3-3.dll"
496  Delete "$INSTDIR\libFLAC-8.dll"
497  Delete "$INSTDIR\libfreetype-6.dll"
498  Delete "$INSTDIR\libgio-2.0-0.dll"
499  Delete "$INSTDIR\libglib-2.0-0.dll"
500  Delete "$INSTDIR\libgmodule-2.0-0.dll"
501  Delete "$INSTDIR\libgmp-10.dll"
502  Delete "$INSTDIR\libgnutls-30.dll"
503  Delete "$INSTDIR\libgobject-2.0-0.dll"
504  Delete "$INSTDIR\libgstapp-1.0-0.dll"
505  Delete "$INSTDIR\libgstaudio-1.0-0.dll"
506  Delete "$INSTDIR\libgstbadaudio-1.0-0.dll"
507  Delete "$INSTDIR\libgstbase-1.0-0.dll"
508  Delete "$INSTDIR\libgstfft-1.0-0.dll"
509  Delete "$INSTDIR\libgstnet-1.0-0.dll"
510  Delete "$INSTDIR\libgstpbutils-1.0-0.dll"
511  Delete "$INSTDIR\libgstreamer-1.0-0.dll"
512  Delete "$INSTDIR\libgstriff-1.0-0.dll"
513  Delete "$INSTDIR\libgstrtp-1.0-0.dll"
514  Delete "$INSTDIR\libgstrtsp-1.0-0.dll"
515  Delete "$INSTDIR\libgstsdp-1.0-0.dll"
516  Delete "$INSTDIR\libgsttag-1.0-0.dll"
517  Delete "$INSTDIR\libgstvideo-1.0-0.dll"
518  Delete "$INSTDIR\libharfbuzz-0.dll"
519  Delete "$INSTDIR\libhogweed-6.dll"
520  Delete "$INSTDIR\libiconv-2.dll"
521  Delete "$INSTDIR\libidn2-0.dll"
522  Delete "$INSTDIR\libintl-8.dll"
523  Delete "$INSTDIR\libjpeg-9.dll"
524  Delete "$INSTDIR\liblzma-5.dll"
525  Delete "$INSTDIR\libmp3lame-0.dll"
526  Delete "$INSTDIR\libnettle-8.dll"
527  Delete "$INSTDIR\libogg-0.dll"
528  Delete "$INSTDIR\libopenmpt-0.dll"
529  Delete "$INSTDIR\libopus-0.dll"
530  Delete "$INSTDIR\liborc-0.4-0.dll"
531  Delete "$INSTDIR\libpcre-1.dll"
532  Delete "$INSTDIR\libpcre2-16-0.dll"
533  Delete "$INSTDIR\libpng16-16.dll"
534  Delete "$INSTDIR\libprotobuf-29.dll"
535  Delete "$INSTDIR\libpsl-5.dll"
536  Delete "$INSTDIR\libqtsparkle-qt5.dll"
537  Delete "$INSTDIR\libqtsparkle-qt6.dll"
538  Delete "$INSTDIR\libsoup-2.4-1.dll"
539  Delete "$INSTDIR\libspeex-1.dll"
540  Delete "$INSTDIR\libsqlite3-0.dll"
541  Delete "$INSTDIR\libssp-0.dll"
542  Delete "$INSTDIR\libstdc++-6.dll"
543  Delete "$INSTDIR\libtag.dll"
544  Delete "$INSTDIR\libtasn1-6.dll"
545  Delete "$INSTDIR\libunistring-2.dll"
546  Delete "$INSTDIR\libvorbis-0.dll"
547  Delete "$INSTDIR\libvorbisenc-2.dll"
548  Delete "$INSTDIR\libvorbisfile-3.dll"
549  Delete "$INSTDIR\libwavpack-1.dll"
550  Delete "$INSTDIR\libwinpthread-1.dll"
551  Delete "$INSTDIR\libxml2-2.dll"
552  Delete "$INSTDIR\libzstd.dll"
553  Delete "$INSTDIR\postproc-55.dll"
554  Delete "$INSTDIR\Qt5Concurrent.dll"
555  Delete "$INSTDIR\Qt5Core.dll"
556  Delete "$INSTDIR\Qt5Gui.dll"
557  Delete "$INSTDIR\Qt5Network.dll"
558  Delete "$INSTDIR\Qt5Sql.dll"
559  Delete "$INSTDIR\Qt5Widgets.dll"
560  Delete "$INSTDIR\Qt6Concurrent.dll"
561  Delete "$INSTDIR\Qt6Core.dll"
562  Delete "$INSTDIR\Qt6Gui.dll"
563  Delete "$INSTDIR\Qt6Network.dll"
564  Delete "$INSTDIR\Qt6Sql.dll"
565  Delete "$INSTDIR\Qt6Widgets.dll"
566  Delete "$INSTDIR\swresample-3.dll"
567  Delete "$INSTDIR\swscale-5.dll"
568  Delete "$INSTDIR\zlib1.dll"
569
570!ifdef debug
571  Delete "$INSTDIR\gdb.exe"
572  Delete "$INSTDIR\libexpat-1.dll"
573  Delete "$INSTDIR\libmman.dll"
574  Delete "$INSTDIR\libmpfr-6.dll"
575  Delete "$INSTDIR\libreadline8.dll"
576  Delete "$INSTDIR\libtermcap.dll"
577!endif
578
579  Delete "$INSTDIR\gio-modules\libgiognutls.dll"
580  Delete "$INSTDIR\platforms\qwindows.dll"
581  Delete "$INSTDIR\styles\qwindowsvistastyle.dll"
582!ifdef with_qt6
583  Delete "$INSTDIR\tls\qopensslbackend.dll"
584!endif
585  Delete "$INSTDIR\sqldrivers\qsqlite.dll"
586
587  Delete "$INSTDIR\imageformats\qgif.dll"
588  Delete "$INSTDIR\imageformats\qico.dll"
589  Delete "$INSTDIR\imageformats\qjpeg.dll"
590
591  Delete "$INSTDIR\gstreamer-plugins\libgstapp.dll"
592  Delete "$INSTDIR\gstreamer-plugins\libgstcoreelements.dll"
593  Delete "$INSTDIR\gstreamer-plugins\libgstaudioconvert.dll"
594  Delete "$INSTDIR\gstreamer-plugins\libgstaudiofx.dll"
595  Delete "$INSTDIR\gstreamer-plugins\libgstaudiomixer.dll"
596  Delete "$INSTDIR\gstreamer-plugins\libgstaudioparsers.dll"
597  Delete "$INSTDIR\gstreamer-plugins\libgstaudiorate.dll"
598  Delete "$INSTDIR\gstreamer-plugins\libgstaudioresample.dll"
599  Delete "$INSTDIR\gstreamer-plugins\libgstaudiotestsrc.dll"
600  Delete "$INSTDIR\gstreamer-plugins\libgstautodetect.dll"
601  Delete "$INSTDIR\gstreamer-plugins\libgstplayback.dll"
602  Delete "$INSTDIR\gstreamer-plugins\libgstvolume.dll"
603  Delete "$INSTDIR\gstreamer-plugins\libgstspectrum.dll"
604  Delete "$INSTDIR\gstreamer-plugins\libgstequalizer.dll"
605  Delete "$INSTDIR\gstreamer-plugins\libgstreplaygain.dll"
606  Delete "$INSTDIR\gstreamer-plugins\libgsttypefindfunctions.dll"
607  Delete "$INSTDIR\gstreamer-plugins\libgstgio.dll"
608  Delete "$INSTDIR\gstreamer-plugins\libgstdirectsound.dll"
609  Delete "$INSTDIR\gstreamer-plugins\libgstwasapi.dll"
610  Delete "$INSTDIR\gstreamer-plugins\libgstapetag.dll"
611  Delete "$INSTDIR\gstreamer-plugins\libgsticydemux.dll"
612  Delete "$INSTDIR\gstreamer-plugins\libgstid3demux.dll"
613  Delete "$INSTDIR\gstreamer-plugins\libgsttaglib.dll"
614  Delete "$INSTDIR\gstreamer-plugins\libgsttcp.dll"
615  Delete "$INSTDIR\gstreamer-plugins\libgstudp.dll"
616  Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
617  Delete "$INSTDIR\gstreamer-plugins\libgstcdio.dll"
618  Delete "$INSTDIR\gstreamer-plugins\libgstflac.dll"
619  Delete "$INSTDIR\gstreamer-plugins\libgstwavparse.dll"
620  Delete "$INSTDIR\gstreamer-plugins\libgstwavpack.dll"
621  Delete "$INSTDIR\gstreamer-plugins\libgstogg.dll"
622  Delete "$INSTDIR\gstreamer-plugins\libgstvorbis.dll"
623  Delete "$INSTDIR\gstreamer-plugins\libgstopus.dll"
624  Delete "$INSTDIR\gstreamer-plugins\libgstopusparse.dll"
625  Delete "$INSTDIR\gstreamer-plugins\libgstspeex.dll"
626  Delete "$INSTDIR\gstreamer-plugins\libgstlame.dll"
627  Delete "$INSTDIR\gstreamer-plugins\libgstaiff.dll"
628  Delete "$INSTDIR\gstreamer-plugins\libgstfaac.dll"
629  Delete "$INSTDIR\gstreamer-plugins\libgstfaad.dll"
630  Delete "$INSTDIR\gstreamer-plugins\libgstisomp4.dll"
631  Delete "$INSTDIR\gstreamer-plugins\libgstasf.dll"
632  Delete "$INSTDIR\gstreamer-plugins\libgstasfmux.dll"
633  Delete "$INSTDIR\gstreamer-plugins\libgstlibav.dll"
634  Delete "$INSTDIR\gstreamer-plugins\libgstpbtypes.dll"
635  Delete "$INSTDIR\gstreamer-plugins\libgstrtp.dll"
636  Delete "$INSTDIR\gstreamer-plugins\libgstrtsp.dll"
637  Delete "$INSTDIR\gstreamer-plugins\libgstopenmpt.dll"
638
639  Delete "$INSTDIR\Uninstall.exe"
640
641  ; Remove the installation folders.
642  RMDir "$INSTDIR\platforms"
643  RMDir "$INSTDIR\styles"
644  RMDir "$INSTDIR\tls"
645  RMDir "$INSTDIR\sqldrivers"
646  RMDir "$INSTDIR\imageformats"
647  RMDir "$INSTDIR\gio-modules"
648  RMDir "$INSTDIR\gstreamer-plugins"
649  RMDir "$INSTDIR"
650
651  ; Remove the Shortcuts
652  SetShellVarContext all
653
654  Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
655  Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
656  RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
657
658  ; Remove the entry from 'installed programs list'
659  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
660
661  ; Unregister from Default Programs
662  ${UnRegisterCapabilities}
663
664SectionEnd
665