623 lines
23 KiB
Plaintext
623 lines
23 KiB
Plaintext
!if "@ARCH@" == x86
|
|
!define arch_x86
|
|
!endif
|
|
|
|
!if "@ARCH@" == i686-w64-mingw32.shared
|
|
!define arch_x86
|
|
!endif
|
|
|
|
!if "@ARCH@" == x86_64
|
|
!define arch_x64
|
|
!endif
|
|
|
|
!if "@ARCH@" == x86_64-w64-mingw32.shared
|
|
!define arch_x64
|
|
!endif
|
|
|
|
!if "@CMAKE_BUILD_TYPE@" == Debug
|
|
!define debug
|
|
!endif
|
|
|
|
!ifdef debug
|
|
!define PRODUCT_NAME "Strawberry Music Player Debug"
|
|
!define PRODUCT_NAME_SHORT "Strawberry"
|
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}Debug"
|
|
!ifdef arch_x86
|
|
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player Debug"
|
|
!endif
|
|
!ifdef arch_x64
|
|
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player Debug"
|
|
!endif
|
|
!else
|
|
!define PRODUCT_NAME "Strawberry Music Player"
|
|
!define PRODUCT_NAME_SHORT "Strawberry"
|
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}"
|
|
!ifdef arch_x86
|
|
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player"
|
|
!endif
|
|
!ifdef arch_x64
|
|
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player"
|
|
!endif
|
|
!endif
|
|
|
|
!define PRODUCT_VERSION_MAJOR @STRAWBERRY_VERSION_MAJOR@
|
|
!define PRODUCT_VERSION_MINOR @STRAWBERRY_VERSION_MINOR@
|
|
!define PRODUCT_VERSION_PATCH @STRAWBERRY_VERSION_PATCH@
|
|
!define PRODUCT_DISPLAY_VERSION "@STRAWBERRY_VERSION_PACKAGE@"
|
|
!define PRODUCT_DISPLAY_VERSION_SHORT "@STRAWBERRY_VERSION_PACKAGE@"
|
|
|
|
!define PRODUCT_PUBLISHER "Jonas Kvinge"
|
|
!define PRODUCT_WEB_SITE "https://www.strawberrymusicplayer.org/"
|
|
|
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
|
|
|
; Set Application Capabilities info
|
|
!define CAPABILITIES_NAME "Strawberry Music Player"
|
|
!define CAPABILITIES_LOCAL_NAME "Strawberry"
|
|
!define CAPABILITIES_PROGID "Strawberry Music Player"
|
|
!define CAPABILITIES_PATH "Software\Clients\Media\Strawberry"
|
|
!define CAPABILITIES_DESCRIPTION "Strawberry Music Player"
|
|
!define CAPABILITIES_ICON "$INSTDIR\strawberry.ico"
|
|
!define CAPABILITIES_REINSTALL "Command to reinstall"
|
|
!define CAPABILITIES_HIDE_ICONS "Command to hide icons"
|
|
!define CAPABILITIES_SHOW_ICONS "Command to show icons"
|
|
|
|
SetCompressor /SOLID lzma
|
|
|
|
!addplugindir nsisplugins
|
|
!include "MUI2.nsh"
|
|
!include "FileAssociation.nsh"
|
|
!include "Capabilities.nsh"
|
|
!include LogicLib.nsh
|
|
!include x64.nsh
|
|
|
|
!define MUI_ICON "strawberry.ico"
|
|
|
|
!define MUI_COMPONENTSPAGE_SMALLDESC
|
|
|
|
; Installer pages
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
; Uninstaller pages
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
!insertmacro MUI_UNPAGE_FINISH
|
|
|
|
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
|
|
|
Name "${PRODUCT_NAME}"
|
|
!ifdef arch_x86
|
|
!ifdef debug
|
|
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Debug-x86.exe"
|
|
!else
|
|
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-x86.exe"
|
|
!endif
|
|
!endif
|
|
|
|
!ifdef arch_x64
|
|
!ifdef debug
|
|
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Debug-x64.exe"
|
|
!else
|
|
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-x64.exe"
|
|
!endif
|
|
!endif
|
|
|
|
InstallDir "${PRODUCT_INSTALL_DIR}"
|
|
|
|
; Get the path where Strawberry was installed previously and set it as default path
|
|
InstallDirRegKey ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
|
|
|
|
ShowInstDetails show
|
|
ShowUnInstDetails show
|
|
RequestExecutionLevel admin
|
|
;RequestExecutionLevel user
|
|
|
|
; Check for previous installation, and call the uninstaller if any
|
|
Function CheckPreviousInstall
|
|
|
|
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
|
|
StrCmp $R0 "" done
|
|
|
|
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
|
|
"${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \
|
|
previous version or `Cancel` to cancel this upgrade." \
|
|
IDOK uninst
|
|
Abort
|
|
; Run the uninstaller
|
|
uninst:
|
|
ClearErrors
|
|
ExecWait '$R0' ; Do not copy the uninstaller to a temp file
|
|
|
|
done:
|
|
|
|
FunctionEnd
|
|
|
|
Function .onInit
|
|
|
|
!insertmacro MUI_LANGDLL_DISPLAY
|
|
|
|
Call CheckPreviousInstall
|
|
|
|
FunctionEnd
|
|
|
|
Section "Delete old files" oldfiles
|
|
SectionEnd
|
|
|
|
Section "Strawberry" Strawberry
|
|
SetOutPath "$INSTDIR"
|
|
|
|
nsExec::Exec '"$INSTDIR\killproc.exe" strawberry.exe'
|
|
|
|
File "strawberry.exe"
|
|
File "strawberry-tagreader.exe"
|
|
File "strawberry.ico"
|
|
|
|
File "libbz2.dll"
|
|
File "libcdio-19.dll"
|
|
File "libchromaprint.dll"
|
|
File "libfaac-0.dll"
|
|
File "libfaad-2.dll"
|
|
File "libffi-7.dll"
|
|
File "libfftw3-3.dll"
|
|
File "libFLAC-8.dll"
|
|
File "libfreetype-6.dll"
|
|
File "libgio-2.0-0.dll"
|
|
File "libglib-2.0-0.dll"
|
|
File "libgmodule-2.0-0.dll"
|
|
File "libgmp-10.dll"
|
|
File "libgnutls-30.dll"
|
|
File "libgobject-2.0-0.dll"
|
|
File "libgstapp-1.0-0.dll"
|
|
File "libgstaudio-1.0-0.dll"
|
|
File "libgstbase-1.0-0.dll"
|
|
File "libgstfft-1.0-0.dll"
|
|
File "libgstnet-1.0-0.dll"
|
|
File "libgstpbutils-1.0-0.dll"
|
|
File "libgstreamer-1.0-0.dll"
|
|
File "libgstriff-1.0-0.dll"
|
|
File "libgstrtp-1.0-0.dll"
|
|
File "libgstrtsp-1.0-0.dll"
|
|
File "libgstsdp-1.0-0.dll"
|
|
File "libgsttag-1.0-0.dll"
|
|
File "libgstvideo-1.0-0.dll"
|
|
File "libharfbuzz-0.dll"
|
|
File "libhogweed-6.dll"
|
|
File "libiconv-2.dll"
|
|
File "libidn2-0.dll"
|
|
File "libintl-8.dll"
|
|
File "libjpeg-9.dll"
|
|
File "liblzma-5.dll"
|
|
File "libmp3lame-0.dll"
|
|
File "libnettle-8.dll"
|
|
File "libogg-0.dll"
|
|
File "libopus-0.dll"
|
|
File "libpcre-1.dll"
|
|
File "libpcre2-16-0.dll"
|
|
File "libpng16-16.dll"
|
|
File "libprotobuf-23.dll"
|
|
File "libsoup-2.4-1.dll"
|
|
File "libspeex-1.dll"
|
|
File "libsqlite3-0.dll"
|
|
File "libstdc++-6.dll"
|
|
File "libtag.dll"
|
|
File "libunistring-2.dll"
|
|
File "libvorbis-0.dll"
|
|
File "libvorbisenc-2.dll"
|
|
File "libwavpack-1.dll"
|
|
File "libwinpthread-1.dll"
|
|
File "libxml2-2.dll"
|
|
File "Qt5Concurrent.dll"
|
|
File "Qt5Core.dll"
|
|
File "Qt5Gui.dll"
|
|
File "Qt5Network.dll"
|
|
File "Qt5Sql.dll"
|
|
File "Qt5Widgets.dll"
|
|
File "Qt5WinExtras.dll"
|
|
File "zlib1.dll"
|
|
File "libzstd.dll"
|
|
File "libtasn1-6.dll"
|
|
File "libbrotlicommon.dll"
|
|
File "libbrotlidec.dll"
|
|
File "libpsl-5.dll"
|
|
File "liborc-0.4-0.dll"
|
|
|
|
!ifdef arch_x86
|
|
File "libgcc_s_sjlj-1.dll"
|
|
File "libcrypto-1_1.dll"
|
|
File "libssl-1_1.dll"
|
|
!endif
|
|
|
|
!ifdef arch_x64
|
|
File "libgcc_s_seh-1.dll"
|
|
File "libcrypto-1_1-x64.dll"
|
|
File "libssl-1_1-x64.dll"
|
|
!endif
|
|
|
|
!ifdef debug
|
|
File "libmpcdec-5.dll"
|
|
File "libtheora-0.dll"
|
|
File "libxine-2.dll"
|
|
!endif
|
|
|
|
File "killproc.exe"
|
|
|
|
; Register Strawberry with Default Programs
|
|
Var /GLOBAL AppIcon
|
|
Var /GLOBAL AppExe
|
|
StrCpy $AppExe "$INSTDIR\strawberry.exe"
|
|
StrCpy $AppIcon "$INSTDIR\strawberry.ico"
|
|
|
|
${RegisterCapabilities}
|
|
|
|
${RegisterMediaType} ".mp3" $AppExe $AppIcon "MP3 Audio File"
|
|
${RegisterMediaType} ".flac" $AppExe $AppIcon "FLAC Audio File"
|
|
${RegisterMediaType} ".ogg" $AppExe $AppIcon "OGG Audio File"
|
|
${RegisterMediaType} ".spx" $AppExe $AppIcon "OGG Speex Audio File"
|
|
${RegisterMediaType} ".m4a" $AppExe $AppIcon "MP4 Audio File"
|
|
${RegisterMediaType} ".aac" $AppExe $AppIcon "AAC Audio File"
|
|
${RegisterMediaType} ".wma" $AppExe $AppIcon "WMA Audio File"
|
|
${RegisterMediaType} ".wav" $AppExe $AppIcon "WAV Audio File"
|
|
|
|
${RegisterMediaType} ".pls" $AppExe $AppIcon "PLS Audio File"
|
|
${RegisterMediaType} ".m3u" $AppExe $AppIcon "M3U Audio File"
|
|
${RegisterMediaType} ".xspf" $AppExe $AppIcon "XSPF Audio File"
|
|
${RegisterMediaType} ".asx" $AppExe $AppIcon "Windows Media Audio/Video playlist"
|
|
|
|
${RegisterMimeType} "audio/mp3" "mp3" "{cd3afa76-b84f-48f0-9393-7edc34128127}"
|
|
${RegisterMimeType} "audio/mp4" "m4a" "{cd3afa7c-b84f-48f0-9393-7edc34128127}"
|
|
${RegisterMimeType} "audio/x-ms-wma" "wma" "{cd3afa84-b84f-48f0-9393-7edc34128127}"
|
|
${RegisterMimeType} "audio/wav" "wav" "{cd3afa7b-b84f-48f0-9393-7edc34128127}"
|
|
|
|
${RegisterMimeType} "audio/mpegurl" "m3u" "{cd3afa78-b84f-48f0-9393-7edc34128127}"
|
|
${RegisterMimeType} "application/x-wmplayer" "asx" "{cd3afa96-b84f-48f0-9393-7edc34128127}"
|
|
|
|
SectionEnd
|
|
|
|
Section "GIO modules" gio-modules
|
|
SetOutPath "$INSTDIR\gio-modules"
|
|
File "/oname=libgiognutls.dll" "gio-modules\libgiognutls.dll"
|
|
SectionEnd
|
|
|
|
Section "Qt Platforms" platforms
|
|
SetOutPath "$INSTDIR\platforms"
|
|
File "/oname=qwindows.dll" "platforms\qwindows.dll"
|
|
SectionEnd
|
|
|
|
Section "Qt SQL Drivers" sqldrivers
|
|
SetOutPath "$INSTDIR\sqldrivers"
|
|
File "/oname=qsqlite.dll" "sqldrivers\qsqlite.dll"
|
|
SectionEnd
|
|
|
|
Section "Qt image format plugins" imageformats
|
|
SetOutPath "$INSTDIR\imageformats"
|
|
File "/oname=qgif.dll" "imageformats\qgif.dll"
|
|
File "/oname=qico.dll" "imageformats\qico.dll"
|
|
File "/oname=qjpeg.dll" "imageformats\qjpeg.dll"
|
|
SectionEnd
|
|
|
|
Section "Qt style plugins" styles
|
|
SetOutPath "$INSTDIR\styles"
|
|
File "/oname=qwindowsvistastyle.dll" "styles\qwindowsvistastyle.dll"
|
|
SectionEnd
|
|
|
|
Section "Gstreamer plugins" gstreamer-plugins
|
|
SetOutPath "$INSTDIR\gstreamer-plugins"
|
|
|
|
File "/oname=libgstapp.dll" "gstreamer-plugins\libgstapp.dll"
|
|
File "/oname=libgstcoreelements.dll" "gstreamer-plugins\libgstcoreelements.dll"
|
|
File "/oname=libgstaudioconvert.dll" "gstreamer-plugins\libgstaudioconvert.dll"
|
|
File "/oname=libgstaudiofx.dll" "gstreamer-plugins\libgstaudiofx.dll"
|
|
File "/oname=libgstaudiomixer.dll" "gstreamer-plugins\libgstaudiomixer.dll"
|
|
File "/oname=libgstaudioparsers.dll" "gstreamer-plugins\libgstaudioparsers.dll"
|
|
File "/oname=libgstaudiorate.dll" "gstreamer-plugins\libgstaudiorate.dll"
|
|
File "/oname=libgstaudioresample.dll" "gstreamer-plugins\libgstaudioresample.dll"
|
|
File "/oname=libgstaudiotestsrc.dll" "gstreamer-plugins\libgstaudiotestsrc.dll"
|
|
File "/oname=libgstautodetect.dll" "gstreamer-plugins\libgstautodetect.dll"
|
|
File "/oname=libgstplayback.dll" "gstreamer-plugins\libgstplayback.dll"
|
|
File "/oname=libgstvolume.dll" "gstreamer-plugins\libgstvolume.dll"
|
|
File "/oname=libgstspectrum.dll" "gstreamer-plugins\libgstspectrum.dll"
|
|
File "/oname=libgstequalizer.dll" "gstreamer-plugins\libgstequalizer.dll"
|
|
File "/oname=libgstreplaygain.dll" "gstreamer-plugins\libgstreplaygain.dll"
|
|
File "/oname=libgsttypefindfunctions.dll" "gstreamer-plugins\libgsttypefindfunctions.dll"
|
|
File "/oname=libgstgio.dll" "gstreamer-plugins\libgstgio.dll"
|
|
File "/oname=libgstdirectsound.dll" "gstreamer-plugins\libgstdirectsound.dll"
|
|
;File "/oname=libgstwasapi.dll" "gstreamer-plugins\libgstwasapi.dll"
|
|
File "/oname=libgstapetag.dll" "gstreamer-plugins\libgstapetag.dll"
|
|
File "/oname=libgsticydemux.dll" "gstreamer-plugins\libgsticydemux.dll"
|
|
File "/oname=libgstid3demux.dll" "gstreamer-plugins\libgstid3demux.dll"
|
|
File "/oname=libgsttaglib.dll" "gstreamer-plugins\libgsttaglib.dll"
|
|
File "/oname=libgsttcp.dll" "gstreamer-plugins\libgsttcp.dll"
|
|
File "/oname=libgstudp.dll" "gstreamer-plugins\libgstudp.dll"
|
|
File "/oname=libgstsoup.dll" "gstreamer-plugins\libgstsoup.dll"
|
|
File "/oname=libgstcdio.dll" "gstreamer-plugins\libgstcdio.dll"
|
|
File "/oname=libgstflac.dll" "gstreamer-plugins\libgstflac.dll"
|
|
File "/oname=libgstwavparse.dll" "gstreamer-plugins\libgstwavparse.dll"
|
|
File "/oname=libgstwavpack.dll" "gstreamer-plugins\libgstwavpack.dll"
|
|
File "/oname=libgstogg.dll" "gstreamer-plugins\libgstogg.dll"
|
|
File "/oname=libgstvorbis.dll" "gstreamer-plugins\libgstvorbis.dll"
|
|
File "/oname=libgstopus.dll" "gstreamer-plugins\libgstopus.dll"
|
|
File "/oname=libgstopusparse.dll" "gstreamer-plugins\libgstopusparse.dll"
|
|
File "/oname=libgstspeex.dll" "gstreamer-plugins\libgstspeex.dll"
|
|
File "/oname=libgstlame.dll" "gstreamer-plugins\libgstlame.dll"
|
|
File "/oname=libgstaiff.dll" "gstreamer-plugins\libgstaiff.dll"
|
|
File "/oname=libgstfaac.dll" "gstreamer-plugins\libgstfaac.dll"
|
|
File "/oname=libgstfaad.dll" "gstreamer-plugins\libgstfaad.dll"
|
|
File "/oname=libgstisomp4.dll" "gstreamer-plugins\libgstisomp4.dll"
|
|
File "/oname=libgstasf.dll" "gstreamer-plugins\libgstasf.dll"
|
|
File "/oname=libgstasfmux.dll" "gstreamer-plugins\libgstasfmux.dll"
|
|
File "/oname=libgstlibav.dll" "gstreamer-plugins\libgstlibav.dll"
|
|
File "/oname=libgstpbtypes.dll" "gstreamer-plugins\libgstpbtypes.dll"
|
|
File "/oname=libgstrtp.dll" "gstreamer-plugins\libgstrtp.dll"
|
|
File "/oname=libgstrtsp.dll" "gstreamer-plugins\libgstrtsp.dll"
|
|
|
|
SectionEnd
|
|
|
|
!ifdef debug
|
|
Section "Xine plugins" xine-plugins
|
|
SetOutPath "$INSTDIR\xine-plugins"
|
|
File "/oname=xineplug_ao_out_directx2.dll" "xine-plugins\xineplug_ao_out_directx2.dll"
|
|
File "/oname=xineplug_ao_out_directx.dll" "xine-plugins\xineplug_ao_out_directx.dll"
|
|
File "/oname=xineplug_decode_dts.dll" "xine-plugins\xineplug_decode_dts.dll"
|
|
File "/oname=xineplug_decode_dvaudio.dll" "xine-plugins\xineplug_decode_dvaudio.dll"
|
|
File "/oname=xineplug_decode_faad.dll" "xine-plugins\xineplug_decode_faad.dll"
|
|
File "/oname=xineplug_decode_gsm610.dll" "xine-plugins\xineplug_decode_gsm610.dll"
|
|
File "/oname=xineplug_decode_lpcm.dll" "xine-plugins\xineplug_decode_lpcm.dll"
|
|
File "/oname=xineplug_decode_mad.dll" "xine-plugins\xineplug_decode_mad.dll"
|
|
File "/oname=xineplug_decode_mpc.dll" "xine-plugins\xineplug_decode_mpc.dll"
|
|
File "/oname=xineplug_decode_mpeg2.dll" "xine-plugins\xineplug_decode_mpeg2.dll"
|
|
File "/oname=xineplug_dmx_asf.dll" "xine-plugins\xineplug_dmx_asf.dll"
|
|
File "/oname=xineplug_dmx_audio.dll" "xine-plugins\xineplug_dmx_audio.dll"
|
|
File "/oname=xineplug_dmx_playlist.dll" "xine-plugins\xineplug_dmx_playlist.dll"
|
|
File "/oname=xineplug_dmx_slave.dll" "xine-plugins\xineplug_dmx_slave.dll"
|
|
File "/oname=xineplug_flac.dll" "xine-plugins\xineplug_flac.dll"
|
|
File "/oname=xineplug_wavpack.dll" "xine-plugins\xineplug_wavpack.dll"
|
|
File "/oname=xineplug_xiph.dll" "xine-plugins\xineplug_xiph.dll"
|
|
File "/oname=xineplug_inp_cdda.dll" "xine-plugins\xineplug_inp_cdda.dll"
|
|
|
|
File "/oname=xineplug_post_audio_filters.dll" "xine-plugins\xineplug_post_audio_filters.dll"
|
|
File "/oname=xineplug_post_goom.dll" "xine-plugins\xineplug_post_goom.dll"
|
|
File "/oname=xineplug_post_mosaico.dll" "xine-plugins\xineplug_post_mosaico.dll"
|
|
File "/oname=xineplug_post_planar.dll" "xine-plugins\xineplug_post_planar.dll"
|
|
File "/oname=xineplug_post_switch.dll" "xine-plugins\xineplug_post_switch.dll"
|
|
File "/oname=xineplug_post_tvtime.dll" "xine-plugins\xineplug_post_tvtime.dll"
|
|
File "/oname=xineplug_post_visualizations.dll" "xine-plugins\xineplug_post_visualizations.dll"
|
|
SectionEnd
|
|
!endif
|
|
|
|
Section "Start menu items" startmenu
|
|
; Create Start Menu folders and shortcuts.
|
|
SetShellVarContext all
|
|
|
|
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\strawberry.exe"
|
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
|
|
SectionEnd
|
|
|
|
Section "Uninstaller"
|
|
; Create uninstaller
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\strawberry.ico"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_DISPLAY_VERSION}"
|
|
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMajor" "${PRODUCT_VERSION_MAJOR}"
|
|
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMinor" "${PRODUCT_VERSION_MINOR}"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
|
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
|
|
nsExec::Exec '"$INSTDIR\killproc.exe" strawberry.exe'
|
|
|
|
; Delete all the files
|
|
|
|
Delete "$INSTDIR\strawberry.ico"
|
|
Delete "$INSTDIR\strawberry.exe"
|
|
Delete "$INSTDIR\strawberry-tagreader.exe"
|
|
|
|
Delete "$INSTDIR\libbz2.dll"
|
|
Delete "$INSTDIR\libcdio-19.dll"
|
|
Delete "$INSTDIR\libchromaprint.dll"
|
|
Delete "$INSTDIR\libfaac-0.dll"
|
|
Delete "$INSTDIR\libfaad-2.dll"
|
|
Delete "$INSTDIR\libffi-7.dll"
|
|
Delete "$INSTDIR\libfftw3-3.dll"
|
|
Delete "$INSTDIR\libFLAC-8.dll"
|
|
Delete "$INSTDIR\libfreetype-6.dll"
|
|
Delete "$INSTDIR\libgio-2.0-0.dll"
|
|
Delete "$INSTDIR\libglib-2.0-0.dll"
|
|
Delete "$INSTDIR\libgmodule-2.0-0.dll"
|
|
Delete "$INSTDIR\libgmp-10.dll"
|
|
Delete "$INSTDIR\libgnutls-30.dll"
|
|
Delete "$INSTDIR\libgobject-2.0-0.dll"
|
|
Delete "$INSTDIR\libgstapp-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstaudio-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstbase-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstfft-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstnet-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstpbutils-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstreamer-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstriff-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstrtp-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstrtsp-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstsdp-1.0-0.dll"
|
|
Delete "$INSTDIR\libgsttag-1.0-0.dll"
|
|
Delete "$INSTDIR\libgstvideo-1.0-0.dll"
|
|
Delete "$INSTDIR\libharfbuzz-0.dll"
|
|
Delete "$INSTDIR\libhogweed-6.dll"
|
|
Delete "$INSTDIR\libiconv-2.dll"
|
|
Delete "$INSTDIR\libidn2-0.dll"
|
|
Delete "$INSTDIR\libintl-8.dll"
|
|
Delete "$INSTDIR\libjpeg-9.dll"
|
|
Delete "$INSTDIR\liblzma-5.dll"
|
|
Delete "$INSTDIR\libmp3lame-0.dll"
|
|
Delete "$INSTDIR\libnettle-8.dll"
|
|
Delete "$INSTDIR\libogg-0.dll"
|
|
Delete "$INSTDIR\libopus-0.dll"
|
|
Delete "$INSTDIR\libpcre-1.dll"
|
|
Delete "$INSTDIR\libpcre2-16-0.dll"
|
|
Delete "$INSTDIR\libpng16-16.dll"
|
|
Delete "$INSTDIR\libprotobuf-23.dll"
|
|
Delete "$INSTDIR\libsoup-2.4-1.dll"
|
|
Delete "$INSTDIR\libspeex-1.dll"
|
|
Delete "$INSTDIR\libsqlite3-0.dll"
|
|
Delete "$INSTDIR\libstdc++-6.dll"
|
|
Delete "$INSTDIR\libtag.dll"
|
|
Delete "$INSTDIR\libunistring-2.dll"
|
|
Delete "$INSTDIR\libvorbis-0.dll"
|
|
Delete "$INSTDIR\libvorbisenc-2.dll"
|
|
Delete "$INSTDIR\libwavpack-1.dll"
|
|
Delete "$INSTDIR\libwinpthread-1.dll"
|
|
Delete "$INSTDIR\libxml2-2.dll"
|
|
Delete "$INSTDIR\Qt5Concurrent.dll"
|
|
Delete "$INSTDIR\Qt5Core.dll"
|
|
Delete "$INSTDIR\Qt5Gui.dll"
|
|
Delete "$INSTDIR\Qt5Network.dll"
|
|
Delete "$INSTDIR\Qt5Sql.dll"
|
|
Delete "$INSTDIR\Qt5Widgets.dll"
|
|
Delete "$INSTDIR\Qt5WinExtras.dll"
|
|
Delete "$INSTDIR\zlib1.dll"
|
|
Delete "$INSTDIR\libzstd.dll"
|
|
Delete "$INSTDIR\libtasn1-6.dll"
|
|
Delete "$INSTDIR\libbrotlicommon.dll"
|
|
Delete "$INSTDIR\libbrotlidec.dll"
|
|
Delete "$INSTDIR\libpsl-5.dll"
|
|
Delete "$INSTDIR\liborc-0.4-0.dll"
|
|
|
|
!ifdef arch_x86
|
|
Delete "$INSTDIR\libgcc_s_sjlj-1.dll"
|
|
Delete "$INSTDIR\libcrypto-1_1.dll"
|
|
Delete "$INSTDIR\libssl-1_1.dll"
|
|
!endif
|
|
|
|
!ifdef arch_x64
|
|
Delete "$INSTDIR\libgcc_s_seh-1.dll"
|
|
Delete "$INSTDIR\libcrypto-1_1-x64.dll"
|
|
Delete "$INSTDIR\libssl-1_1-x64.dll"
|
|
!endif
|
|
|
|
!ifdef debug
|
|
Delete "$INSTDIR\libmpcdec-5.dll"
|
|
Delete "$INSTDIR\libtheora-0.dll"
|
|
Delete "$INSTDIR\libxine-2.dll"
|
|
!endif
|
|
|
|
Delete "$INSTDIR\gio-modules\libgiognutls.dll"
|
|
Delete "$INSTDIR\platforms\qwindows.dll"
|
|
Delete "$INSTDIR\sqldrivers\qsqlite.dll"
|
|
Delete "$INSTDIR\styles\qwindowsvistastyle.dll"
|
|
|
|
Delete "$INSTDIR\imageformats\qgif.dll"
|
|
Delete "$INSTDIR\imageformats\qico.dll"
|
|
Delete "$INSTDIR\imageformats\qjpeg.dll"
|
|
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstapp.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstcoreelements.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudioconvert.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudiofx.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudiomixer.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudioparsers.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudiorate.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudioresample.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaudiotestsrc.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstautodetect.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstplayback.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstvolume.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstspectrum.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstequalizer.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstreplaygain.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgsttypefindfunctions.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstgio.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstdirectsound.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstwasapi.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstapetag.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgsticydemux.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstid3demux.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgsttaglib.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgsttcp.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstudp.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstcdio.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstflac.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstwavparse.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstwavpack.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstogg.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstvorbis.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstopus.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstopusparse.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstspeex.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstlame.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstaiff.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstfaac.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstfaad.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstisomp4.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstasf.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstasfmux.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstlibav.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstpbtypes.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstrtp.dll"
|
|
Delete "$INSTDIR\gstreamer-plugins\libgstrtsp.dll"
|
|
|
|
!ifdef debug
|
|
Delete "$INSTDIR\xine-plugins\xineplug_ao_out_directx2.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_ao_out_directx.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_dts.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_dvaudio.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_faad.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_gsm610.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_lpcm.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_mad.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_mpc.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_decode_mpeg2.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_dmx_asf.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_dmx_audio.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_dmx_playlist.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_dmx_slave.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_flac.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_wavpack.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_xiph.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_inp_cdda.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_audio_filters.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_goom.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_mosaico.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_planar.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_switch.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_tvtime.dll"
|
|
Delete "$INSTDIR\xine-plugins\xineplug_post_visualizations.dll"
|
|
!endif
|
|
|
|
Delete "$INSTDIR\killproc.exe"
|
|
Delete "$INSTDIR\Uninstall.exe"
|
|
|
|
; Remove the installation folders.
|
|
RMDir "$INSTDIR\platforms"
|
|
RMDir "$INSTDIR\styles"
|
|
RMDir "$INSTDIR\sqldrivers"
|
|
RMDir "$INSTDIR\imageformats"
|
|
RMDir "$INSTDIR\gio-modules"
|
|
RMDir "$INSTDIR\gstreamer-plugins"
|
|
RMDir "$INSTDIR\xine-plugins"
|
|
RMDir "$INSTDIR"
|
|
|
|
; Remove the Shortcuts
|
|
SetShellVarContext all
|
|
|
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
|
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
|
|
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
|
|
|
|
; Remove the entry from 'installed programs list'
|
|
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
|
|
|
; Unregister from Default Programs
|
|
${UnRegisterCapabilities}
|
|
|
|
SectionEnd
|