From 8e9c9802d1560626a9b01d2a947c41768da6bcf8 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 27 Jul 2019 12:34:27 +0200 Subject: [PATCH] Change new line to unix --- dist/windows/strawberry.nsi.in | 1160 ++++++++++++++++---------------- 1 file changed, 580 insertions(+), 580 deletions(-) diff --git a/dist/windows/strawberry.nsi.in b/dist/windows/strawberry.nsi.in index 32b3ff7d4..78053ead4 100644 --- a/dist/windows/strawberry.nsi.in +++ b/dist/windows/strawberry.nsi.in @@ -1,580 +1,580 @@ -!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 "http://www.strawbs.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" - -!define MUI_ICON "strawberry.ico" - -!define MUI_COMPONENTSPAGE_SMALLDESC -;!define MUI_FINISHPAGE_RUN -;!define MUI_FINISHPAGE_RUN_TEXT "Run Strawberry" -;!define MUI_FINISHPAGE_RUN_FUNCTION "RunStrawberry" - -; 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 - -;Function RunStrawberry - ;ShellExecAsUser::ShellExecAsUser "" "$INSTDIR/strawberry.exe" "" -;FunctionEnd - -Section "Delete old files" oldfiles -SectionEnd - -Section "Strawberry" Strawberry - SetOutPath "$INSTDIR" - - File "strawberry.exe" - File "strawberry-tagreader.exe" - File "strawberry.ico" - - File "libbz2.dll" - File "libcdio-19.dll" - File "libchromaprint.dll" - File "libfaad-2.dll" - File "libffi-6.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-5.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-7.dll" - File "libogg-0.dll" - File "libopus-0.dll" - File "libpcre-1.dll" - File "libpcre2-16-0.dll" - File "libpng16-16.dll" - File "libprotobuf-20.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" - -!ifdef arch_x86 - File "libgcc_s_sjlj-1.dll" - File "libcrypto-3.dll" - File "libssl-3.dll" -!endif - -!ifdef arch_x64 - File "libgcc_s_seh-1.dll" - File "libcrypto-3-x64.dll" - File "libssl-3-x64.dll" -!endif - -!ifdef debug - File "libmpcdec-5.dll" - File "libtheora-0.dll" - File "libxine-2.dll" -!endif - - ; 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 "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 "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=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=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" - -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" - ; Kill strawberry.exe if it's running - ; This calling convention is retarded... - ;StrCpy $0 "strawberry.exe" - ;KillProc::FindProcesses - ;StrCmp $1 "-1" wooops - - ;StrCmp $0 "0" completed - - ;DetailPrint "Killing running strawberry.exe..." - - ;StrCpy $0 "strawberry.exe" - ;KillProc::KillProcesses - ;StrCmp $1 "-1" wooops - - ;Sleep 2000 - ;Goto completed - - ;wooops: - ;DetailPrint "-> Error: Something went wrong while killing running strawberry.exe" - ;Abort - - ;completed: - - ; 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\libfaad-2.dll" - Delete "$INSTDIR\libffi-6.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-5.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-7.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-20.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" - -!ifdef arch_x86 - Delete "$INSTDIR\libgcc_s_sjlj-1.dll" - Delete "$INSTDIR\libcrypto-3.dll" - Delete "$INSTDIR\libssl-3.dll" -!endif - -!ifdef arch_x64 - Delete "$INSTDIR\libgcc_s_seh-1.dll" - Delete "$INSTDIR\libcrypto-3-x64.dll" - Delete "$INSTDIR\libssl-3-x64.dll" -!endif - -!ifdef debug - Delete "$INSTDIR\libmpcdec-5.dll" - Delete "$INSTDIR\libtheora-0.dll" - Delete "$INSTDIR\libxine-2.dll" -!endif - - Delete "$INSTDIR\platforms\qwindows.dll" - Delete "$INSTDIR\sqldrivers\qsqlite.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\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\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\Uninstall.exe" - - ; Remove the installation folders. - RMDir "$INSTDIR\platforms" - RMDir "$INSTDIR\sqldrivers" - RMDir "$INSTDIR\imageformats" - 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 +!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 "http://www.strawbs.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" + +!define MUI_ICON "strawberry.ico" + +!define MUI_COMPONENTSPAGE_SMALLDESC +;!define MUI_FINISHPAGE_RUN +;!define MUI_FINISHPAGE_RUN_TEXT "Run Strawberry" +;!define MUI_FINISHPAGE_RUN_FUNCTION "RunStrawberry" + +; 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 + +;Function RunStrawberry + ;ShellExecAsUser::ShellExecAsUser "" "$INSTDIR/strawberry.exe" "" +;FunctionEnd + +Section "Delete old files" oldfiles +SectionEnd + +Section "Strawberry" Strawberry + SetOutPath "$INSTDIR" + + File "strawberry.exe" + File "strawberry-tagreader.exe" + File "strawberry.ico" + + File "libbz2.dll" + File "libcdio-19.dll" + File "libchromaprint.dll" + File "libfaad-2.dll" + File "libffi-6.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-5.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-7.dll" + File "libogg-0.dll" + File "libopus-0.dll" + File "libpcre-1.dll" + File "libpcre2-16-0.dll" + File "libpng16-16.dll" + File "libprotobuf-20.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" + +!ifdef arch_x86 + File "libgcc_s_sjlj-1.dll" + File "libcrypto-3.dll" + File "libssl-3.dll" +!endif + +!ifdef arch_x64 + File "libgcc_s_seh-1.dll" + File "libcrypto-3-x64.dll" + File "libssl-3-x64.dll" +!endif + +!ifdef debug + File "libmpcdec-5.dll" + File "libtheora-0.dll" + File "libxine-2.dll" +!endif + + ; 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 "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 "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=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=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" + +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" + ; Kill strawberry.exe if it's running + ; This calling convention is retarded... + ;StrCpy $0 "strawberry.exe" + ;KillProc::FindProcesses + ;StrCmp $1 "-1" wooops + + ;StrCmp $0 "0" completed + + ;DetailPrint "Killing running strawberry.exe..." + + ;StrCpy $0 "strawberry.exe" + ;KillProc::KillProcesses + ;StrCmp $1 "-1" wooops + + ;Sleep 2000 + ;Goto completed + + ;wooops: + ;DetailPrint "-> Error: Something went wrong while killing running strawberry.exe" + ;Abort + + ;completed: + + ; 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\libfaad-2.dll" + Delete "$INSTDIR\libffi-6.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-5.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-7.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-20.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" + +!ifdef arch_x86 + Delete "$INSTDIR\libgcc_s_sjlj-1.dll" + Delete "$INSTDIR\libcrypto-3.dll" + Delete "$INSTDIR\libssl-3.dll" +!endif + +!ifdef arch_x64 + Delete "$INSTDIR\libgcc_s_seh-1.dll" + Delete "$INSTDIR\libcrypto-3-x64.dll" + Delete "$INSTDIR\libssl-3-x64.dll" +!endif + +!ifdef debug + Delete "$INSTDIR\libmpcdec-5.dll" + Delete "$INSTDIR\libtheora-0.dll" + Delete "$INSTDIR\libxine-2.dll" +!endif + + Delete "$INSTDIR\platforms\qwindows.dll" + Delete "$INSTDIR\sqldrivers\qsqlite.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\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\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\Uninstall.exe" + + ; Remove the installation folders. + RMDir "$INSTDIR\platforms" + RMDir "$INSTDIR\sqldrivers" + RMDir "$INSTDIR\imageformats" + 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