mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-10 11:59:58 -05:00
Initial community commit
This commit is contained in:
28
Src/installer/winamp/uninstall/components.nsh
Normal file
28
Src/installer/winamp/uninstall/components.nsh
Normal file
@ -0,0 +1,28 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_COMPONENTS_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_COMPONENTS_HEADER
|
||||
|
||||
!ifndef MUI_UNCONFIRMPAGE
|
||||
!define MUI_UNCONFIRMPAGE
|
||||
!endif
|
||||
|
||||
!include ".\utils\skins.nsh"
|
||||
|
||||
SectionGroup "un.$(MUI_UNTEXT_CONFIRM_TITLE)" IDX_UNINSTALL_COMPONENTS_GROUP
|
||||
Section "-un.ComponentsInit" IDX_UNINSTALL_COMPONENTS_INIT
|
||||
StrCpy $SETTINGSDIR $INSTDIR
|
||||
StrCpy $PREVINSTINI "$INSTDIR\install.ini"
|
||||
StrCpy $INSTINI $PREVINSTINI
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\paths.ini"
|
||||
Push $SETTINGSDIR
|
||||
nsis_winamp::ReadSettings /NOUNLOAD
|
||||
nsis_winamp::GetIniPath
|
||||
Pop $SETTINGSDIR
|
||||
${EndIf}
|
||||
SectionEnd
|
||||
|
||||
!include ".\uninstall\player.nsh"
|
||||
!include ".\uninstall\userData.nsh"
|
||||
SectionGroupEnd
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALLER_COMPONENTS_HEADER
|
12
Src/installer/winamp/uninstall/descriptionTable.nsh
Normal file
12
Src/installer/winamp/uninstall/descriptionTable.nsh
Normal file
@ -0,0 +1,12 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_SECTION_DESCRIPTION_TABLE_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_SECTION_DESCRIPTION_TABLE_HEADER
|
||||
|
||||
!include ".\utils\sectionDescription.nsh"
|
||||
|
||||
${UNINSTALL_DESCRIPTION_TABLE_BEGIN}
|
||||
${DESCRIPTION} IDX_UNINSTALL_COMPONENTS_GROUP $(IDS_UNINSTALL_COMPONENTS_GROUP_DESC)
|
||||
${DESCRIPTION} IDX_UNINSTALL_MEDIA_PLAYER $(IDS_UNINSTALL_MEDIA_PLAYER_DESC)
|
||||
${DESCRIPTION} IDX_UNINSTALL_USER_PREFERENCES $(IDS_UNINSTALL_USER_PREFERENCES_DESC)
|
||||
${DESCRIPTION_TABLE_END}
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALLER_SECTION_DESCRIPTION_TABLE_HEADER
|
566
Src/installer/winamp/uninstall/player.nsh
Normal file
566
Src/installer/winamp/uninstall/player.nsh
Normal file
@ -0,0 +1,566 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_PLAYER_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_PLAYER_HEADER
|
||||
|
||||
!macro WALANG_UNINSTALL LNGPATH LANGID
|
||||
Delete "${LNGPATH}\Winamp-${LANGID}.wlz"
|
||||
!macroend
|
||||
|
||||
!macro Uninstaller_KillWinamp
|
||||
|
||||
DetailPrint "$(IDS_RUN_CHECK_PROCESS)"
|
||||
SetDetailsPrint none
|
||||
${Do}
|
||||
ClearErrors
|
||||
Delete "$INSTDIR\${WINAMPEXE}"
|
||||
${If} ${Errors}
|
||||
SetErrors
|
||||
IfSilent killWinamp_done
|
||||
MessageBox MB_DEFBUTTON2|MB_ABORTRETRYIGNORE "$(msgCloseWinamp)" IDABORT killWinamp_done IDRETRY +2
|
||||
ClearErrors
|
||||
${EndIf}
|
||||
${LoopWhile} ${Errors}
|
||||
|
||||
Push $0
|
||||
Push $1
|
||||
|
||||
StrCpy $1 0
|
||||
${Do}
|
||||
ClearErrors
|
||||
Delete "$INSTDIR\winampa.exe"
|
||||
${If} ${Errors}
|
||||
SetErrors
|
||||
FindWindow $0 "WinampAgentMain"
|
||||
${If} $0 = 0 ; something bad or other session
|
||||
IfSilent killWinamp_done
|
||||
MessageBox MB_DEFBUTTON2|MB_ABORTRETRYIGNORE "$(IDS_MSG_AGENTONOTHERSESSION)" IDABORT killWinamp_done IDRETRY +2
|
||||
ClearErrors
|
||||
${Else}
|
||||
IntOp $1 $1 + 1
|
||||
IntCmp $1 40 killWinamp_done
|
||||
SendMessage $0 ${WM_CLOSE} 0 0 /TIMEOUT=2000
|
||||
Sleep 250
|
||||
IsWindow $0 0 killWinamp_agentKilled
|
||||
SendMessage $0 ${WM_DESTROY} 0 0 /TIMEOUT=2000
|
||||
Sleep 250
|
||||
killWinamp_agentKilled:
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${LoopWhile} ${Errors}
|
||||
|
||||
Pop $1
|
||||
Pop $0
|
||||
|
||||
SetDetailsPrint lastused
|
||||
|
||||
killWinamp_done:
|
||||
${If} ${Errors}
|
||||
Abort "$(msgInstallAborted)"
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
Section "un.$(IDS_UNINSTALL_MEDIA_PLAYER)" IDX_UNINSTALL_MEDIA_PLAYER
|
||||
ExecWait '"$INSTDIR\${WINAMPEXE}" /UNREG'
|
||||
!insertmacro 'Uninstaller_KillWinamp'
|
||||
|
||||
ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "WinampAgent"
|
||||
${If} $0 == "$INSTDIR\winampa.exe"
|
||||
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "WinampAgent"
|
||||
${EndIf}
|
||||
|
||||
DeleteRegKey HKEY_CURRENT_USER 'Software\${WINAMP}'
|
||||
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "${WINAMP}.File"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "${WINAMP}.Playlist"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "${WINAMP}.SkinZip"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "${WINAMP}.LangZip"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "${WINAMP}.File.*"
|
||||
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Directory\shell\${WINAMP}.Play"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Directory\shell\${WINAMP}.Enqueue"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Directory\shell\${WINAMP}.Bookmark"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Directory\shell\${WINAMP}.WinampLibrary"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Directory\shell\${WINAMP}.EnqueueAndPlay"
|
||||
DeleteRegKey HKLM "Software\Classes\Directory\shell\${WINAMP}.Play"
|
||||
DeleteRegKey HKLM "Software\Classes\Directory\shell\${WINAMP}.Enqueue"
|
||||
DeleteRegKey HKLM "Software\Classes\Directory\shell\${WINAMP}.Bookmark"
|
||||
DeleteRegKey HKLM "Software\Classes\Directory\shell\${WINAMP}.WinampLibrary"
|
||||
DeleteRegKey HKLM "Software\Classes\Directory\shell\${WINAMP}.EnqueueAndPlay"
|
||||
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\${WINAMPEXE}"
|
||||
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "UNSV"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "UVOX"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "SHOUT"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "SC"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "ICY"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "winamp"
|
||||
; need to get "winamp.exe /unreg" to do this instead...
|
||||
; DeleteRegValue HKEY_CLASSES_ROOT "pcast\shell\open\command" "" "$INSTDIR\${WINAMPEXE} /HANDLE %1"
|
||||
; DeleteRegValue HKEY_CLASSES_ROOT "feed\shell\open\command" "" "$INSTDIR\${WINAMPEXE} /HANDLE %1"
|
||||
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{46986115-84D6-459c-8F95-52DD653E532E}"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{77A366BA-2BE4-4a1e-9263-7734AA3E99A2}"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "AppID\{7DE5C6C7-DAF2-42F9-9324-C8CF4E7E8AC5}"
|
||||
|
||||
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\MTPMediaPlayerArrival" "${WINAMP}MTPHandler"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "Software\shell\${WINAMP}MTPHandler"
|
||||
|
||||
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayMusicFilesOnArrival" "${WINAMP}PlayMediaOnArrival"
|
||||
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "${WINAMP}PlayMediaOnArrival"
|
||||
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayVideoFilesOnArrival" "${WINAMP}PlayMediaOnArrival"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}PlayMediaOnArrival"
|
||||
|
||||
DeleteRegKey HKLM "Software\Clients\Media\Winamp"
|
||||
DeleteRegValue HKLM "Software\RegisteredApplications" "Winamp"
|
||||
|
||||
!ifdef no_old_aod
|
||||
ExecWait '"$INSTDIR\AOD\AolAod.exe" -uninstall'
|
||||
Delete $INSTDIR\AOD\SOAF\*.*
|
||||
RMDIR $INSTDIR\AOD\SOAF
|
||||
Delete $INSTDIR\AOD\AOL\*.*
|
||||
RMDIR $INSTDIR\AOD\AOL
|
||||
!endif
|
||||
|
||||
SetShellVarContext current
|
||||
Call un.StartMenu_CleanData
|
||||
SetShellVarContext all
|
||||
Call un.StartMenu_CleanData
|
||||
|
||||
${FrenchRadio_UninstallPlugin}
|
||||
|
||||
; Files
|
||||
ClearErrors
|
||||
Delete "$INSTDIR\${WINAMPEXE}"
|
||||
Delete "$INSTDIR\Winampa.exe"
|
||||
|
||||
Delete "$INSTDIR\Winamp.exe.manifest"
|
||||
Delete "$INSTDIR\Winampmb.htm"
|
||||
Delete "$INSTDIR\whatsnew.txt"
|
||||
Delete "$INSTDIR\fmt.dll"
|
||||
Delete "$INSTDIR\winamp.log"
|
||||
Delete "$INSTDIR\logs\winamp.log"
|
||||
RMDir "$INSTDIR\logs"
|
||||
Delete "$INSTDIR\Winamp.lks"
|
||||
Delete "$INSTDIR\winamp.pic"
|
||||
Delete "$INSTDIR\Winamp.q1"
|
||||
Delete "$INSTDIR\demo.aac"
|
||||
Delete "$INSTDIR\demo.mp3"
|
||||
Delete "$INSTDIR\demoedit.aac"
|
||||
Delete "$INSTDIR\pxsdkpls.dll"
|
||||
Delete "$INSTDIR\primosdk.dll"
|
||||
Delete "$INSTDIR\pconfig.dcf"
|
||||
Delete "$INSTDIR\System\primo.w5s"
|
||||
Delete "$INSTDIR\UninstWA.exe"
|
||||
Delete "$INSTDIR\unicows.dll"
|
||||
Delete "$INSTDIR\Databurner.ini"
|
||||
Delete "$INSTDIR\libsndfile.dll"
|
||||
Delete "$INSTDIR\Shared\libsndfile.dll"
|
||||
Delete "$INSTDIR\libFLAC.dll"
|
||||
Delete "$INSTDIR\Shared\libFLAC.dll"
|
||||
Delete "$INSTDIR\Shared\libFLAC_dynamic.dll"
|
||||
Delete "$INSTDIR\burnlib.dll"
|
||||
Delete "$INSTDIR\nde.dll"
|
||||
Delete "$INSTDIR\Shared\nde.dll"
|
||||
Delete "$INSTDIR\libmp4v2.dll"
|
||||
Delete "$INSTDIR\Shared\libmp4v2.dll"
|
||||
Delete "$INSTDIR\Shared\libalac.dll"
|
||||
Delete "$INSTDIR\tataki.dll"
|
||||
Delete "$INSTDIR\Shared\tataki.dll"
|
||||
Delete "$INSTDIR\zlib.dll"
|
||||
Delete "$INSTDIR\Shared\zlib.dll"
|
||||
Delete "$INSTDIR\nxlite.dll"
|
||||
Delete "$INSTDIR\Shared\nxlite.dll"
|
||||
Delete "$INSTDIR\jnetlib.dll"
|
||||
Delete "$INSTDIR\Shared\jnetlib.dll"
|
||||
Delete "$SETTINGSDIR\winamp.pic" ; deprecated
|
||||
|
||||
; - even if we do not ship it anymore - still need to remove
|
||||
SetShellVarContext all
|
||||
; Music Now
|
||||
Delete "$INSTDIR\AOL Music Now.ico"
|
||||
Delete "$SMPROGRAMS\Winamp\AOL Music Now - 30 Days Free!.lnk"
|
||||
Delete "$DESKTOP\30 Days Free! AOL MusicNow.lnk"
|
||||
; Active Virus Shield
|
||||
Delete "$INSTDIR\avs.ico"
|
||||
Delete "$SMPROGRAMS\Winamp\Free Active Virus Shield!.lnk"
|
||||
Delete "$DESKTOP\Free Active Virus Shield!.lnk"
|
||||
; ASM Bundle
|
||||
Delete "$INSTDIR\asm.ico"
|
||||
Delete "$SMPROGRAMS\Winamp\Free security diagnostic!.lnk"
|
||||
Delete "$DESKTOP\Free security diagnostic!.lnk"
|
||||
|
||||
; MessageBox MB_YESNO|MB_ICONQUESTION $(msgRemoveSettings) /SD IDYES IDNO skip_removeSettings
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\Plugins\in_mjf.dll"
|
||||
${AndIfNot} ${Cmd} 'MessageBox MB_YESNO|MB_ICONQUESTION "$(msgRemoveMJUICE)" /SD IDYES IDNO'
|
||||
UnRegDLL $SYSDIR\audioexctl.dll ; 1
|
||||
Delete $SYSDIR\audioexctl.dll ; 2
|
||||
; DeleteNSPlug npaxdlpi.dll ; 3
|
||||
Delete "$PROGRAMFILES\Mjuice Media Player\MJAgent.exe" ; 4
|
||||
Delete "$PROGRAMFILES\Mjuice Media Player\MJSecurity.exe" ; 5
|
||||
Delete "$PROGRAMFILES\Mjuice Media Player\MJSecurityClient.dll" ; 6
|
||||
Delete "$PROGRAMFILES\Mjuice Media Player\MJUnInst.exe" ; 7
|
||||
RMDir "$PROGRAMFILES\Mjuice Media Player\Users\MJuiceUser\Config Files" ; 8
|
||||
RMDir "$PROGRAMFILES\Mjuice Media Player\Users\MJuiceUser" ; 9
|
||||
RMDir "$PROGRAMFILES\Mjuice Media Player\Users" ; 10
|
||||
RMDir "$PROGRAMFILES\Mjuice Media Player" ; 11
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MJuiceWinamp" ; 12
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\MJAgent.exe" ; 13
|
||||
DeleteRegKey HKLM "Software\Audio Explosion\MJuice" ; 14
|
||||
DeleteRegKey HKLM "Software\Audio Explosion\MJuice" ; 15
|
||||
${EndIf}
|
||||
|
||||
; Plugins dir
|
||||
UnRegDLL "$INSTDIR\Plugins\in_asfs.dll"
|
||||
Delete "$INSTDIR\Plugins\in_asfs.dll"
|
||||
Delete "$INSTDIR\Plugins\in_cdda.dll"
|
||||
Delete "$INSTDIR\Plugins\in_cdda.cdb"
|
||||
Delete "$INSTDIR\Plugins\cdinfo.db3"
|
||||
Delete "$INSTDIR\Plugins\in_vorbis.dll"
|
||||
Delete "$INSTDIR\Plugins\in_midi.dll"
|
||||
Delete "$INSTDIR\Plugins\in_mod.dll"
|
||||
Delete "$INSTDIR\Plugins\in_mjf.dll"
|
||||
Delete "$INSTDIR\Plugins\in_mp3.dll"
|
||||
Delete "$INSTDIR\Plugins\in_wave.dll"
|
||||
Delete "$INSTDIR\Plugins\in_wm.dll"
|
||||
Delete "$INSTDIR\Plugins\in_flac.dll"
|
||||
Delete "$INSTDIR\Plugins\in_flv.dll"
|
||||
Delete "$INSTDIR\Plugins\in_swf.dll"
|
||||
Delete "$INSTDIR\Plugins\winampFLV.swf"
|
||||
Delete "$INSTDIR\Plugins\in_avi.dll"
|
||||
Delete "$INSTDIR\Plugins\in_mkv.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_flac.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_wav.dll"
|
||||
Delete "$INSTDIR\Plugins\dsp_sps.dll"
|
||||
Delete "$INSTDIR\Plugins\dsp_sps\justin -*.sps"
|
||||
Delete "$INSTDIR\Plugins\dsp_sps\cockos -*.sps"
|
||||
RMDir "$INSTDIR\Plugins\dsp_sps"
|
||||
Delete "$INSTDIR\Plugins\out_disk.dll"
|
||||
Delete "$INSTDIR\Plugins\out_ds.dll"
|
||||
Delete "$INSTDIR\Plugins\out_wave.dll"
|
||||
Delete "$INSTDIR\Plugins\out_wm.dll"
|
||||
Delete "$INSTDIR\Plugins\out_wasapi.dll"
|
||||
Delete "$INSTDIR\Plugins\read_file.dll"
|
||||
Delete "$INSTDIR\Shared\read_file.dll"
|
||||
Delete "$INSTDIR\Plugins\vis_avs.dat"
|
||||
Delete "$INSTDIR\Plugins\vis_avs.dll"
|
||||
Delete "$INSTDIR\Plugins\vis_nsfs.dll"
|
||||
Delete "$INSTDIR\Plugins\vis_milk.dll"
|
||||
Delete "$INSTDIR\Plugins\vis_milk2.dll"
|
||||
Delete "$INSTDIR\Plugins\milkdrop.html"
|
||||
Delete "$INSTDIR\Plugins\q_and_t_vars.gif"
|
||||
Delete "$INSTDIR\Plugins\vms_desktop.dll"
|
||||
Delete "$INSTDIR\Plugins\milk_config.ini"
|
||||
Delete "$INSTDIR\Plugins\milk_img.ini"
|
||||
Delete "$INSTDIR\Plugins\milk_msg.ini"
|
||||
Delete "$INSTDIR\Plugins\vx*.*"
|
||||
Delete "$INSTDIR\Plugins\gen_vx*.d*"
|
||||
Delete "$INSTDIR\Plugins\readme_vx*.txt"
|
||||
|
||||
Delete "$INSTDIR\Plugins\avs\*.ape"
|
||||
Delete "$INSTDIR\Plugins\avs\*.bmp"
|
||||
RMdir /r "$INSTDIR\Plugins\avs\newpicks"
|
||||
RMdir /r "$INSTDIR\Plugins\avs\NullsoftPicks"
|
||||
RMdir /r "$INSTDIR\Plugins\avs\Winamp 5 Picks"
|
||||
RMdir /r "$INSTDIR\Plugins\avs\Community Picks"
|
||||
|
||||
Delete "$INSTDIR\Plugins\gen_ml.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_ff.dll"
|
||||
Delete "$INSTDIR\Plugins\Freeform\wacs\freetype\freetype.wac"
|
||||
Delete "$INSTDIR\Plugins\gen_orgler.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_tray.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_hotkeys.dll"
|
||||
Delete "$INSTDIR\Plugins\in_nsv.dll"
|
||||
Delete "$INSTDIR\Plugins\in_dshow.dll"
|
||||
Delete "$INSTDIR\Plugins\nsvdec_vp3.dll"
|
||||
Delete "$INSTDIR\Plugins\nsvdec_vp5.dll"
|
||||
Delete "$INSTDIR\Plugins\nsvdec_vp6.dll"
|
||||
Delete "$INSTDIR\Plugins\nsvdec_aac.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_aac.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_fhgaac.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_aacplus.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_wma.dll"
|
||||
Delete "$INSTDIR\Plugins\*.prx"
|
||||
Delete "$INSTDIR\Plugins\enc_vorbis.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_lame.dll"
|
||||
Delete "$INSTDIR\Shared\lame_enc.dll"
|
||||
Delete "$INSTDIR\Plugins\lame_enc.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_jumpex.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_orgler.dll"
|
||||
Delete "$INSTDIR\Plugins\in_mp4.dll"
|
||||
Delete "$INSTDIR\Plugins\enc_mp4.dll"
|
||||
Delete "$INSTDIR\Plugins\libmp4v2.dll"
|
||||
Delete "$INSTDIR\Shared\libmp4v2.dll"
|
||||
Delete "$INSTDIR\Shared\libmpg123.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_wire.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_online.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_bookmarks.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_history.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_local.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_nowplaying.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_playlists.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_rg.dll"
|
||||
Delete "$INSTDIR\Plugins\ReplayGainAnalysis.dll"
|
||||
Delete "$INSTDIR\Shared\ReplayGainAnalysis.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_disc.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_xpdxs.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_dash.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_pmp.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_autotag.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_orb.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_plg.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_transcode.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_impex.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_addons.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_downloads.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_cloud.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_enqplay.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_nft.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_fanzone.dll"
|
||||
Delete "$INSTDIR\Plugins\ml_hotmixradio.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_ipod.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_wifi.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_njb.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_p4s.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_usb.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_usb2.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_android.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_activesync.dll"
|
||||
Delete "$INSTDIR\Plugins\pmp_cloud.dll"
|
||||
Delete "$INSTDIR\Plugins\in_linein.dll"
|
||||
Delete "$INSTDIR\Plugins\Predixis MusicMagic\images\*.*"
|
||||
Delete "$INSTDIR\Plugins\Predixis MusicMagic\*.*"
|
||||
Delete "$INSTDIR\Plugins\milkdrop_preset_authoring.html"
|
||||
Delete "$INSTDIR\Plugins\ml_devices.dll"
|
||||
|
||||
Delete "$INSTDIR\Plugins\gen_talkback.dll"
|
||||
|
||||
Delete "$INSTDIR\Plugins\gen_crasher.dll"
|
||||
Delete "$INSTDIR\Plugins\reporter.exe"
|
||||
Delete "$INSTDIR\reporter.exe"
|
||||
Delete "$INSTDIR\Plugins\nscrt.dll"
|
||||
Delete "$INSTDIR\Plugins\tataki.dll"
|
||||
Delete "$INSTDIR\Plugins\gen_dropbox.dll"
|
||||
|
||||
UnRegDLL "$INSTDIR\Plugins\Gracenote\cddbcontrolwinamp.dll"
|
||||
UnRegDLL "$INSTDIR\Plugins\Gracenote\cddbuiwinamp.dll"
|
||||
UnRegDLL "$INSTDIR\Plugins\Gracenote\CddbMusicIDWinamp.dll"
|
||||
UnRegDLL "$INSTDIR\Plugins\Gracenote\CddbPlaylist2Winamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\cddbcontrolwinamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\cddbuiwinamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbWOManagerWinamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbFPX1.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbAFX3.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbCMSig_1_2.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbCMSig_1_3.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbFEX.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbS12T.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbMusicIDWinamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\CddbPlaylist2Winamp.dll"
|
||||
Delete "$INSTDIR\Plugins\Gracenote\Cddbx*.dll"
|
||||
RMDir "$INSTDIR\Plugins\Gracenote"
|
||||
|
||||
RMDir /r "$INSTDIR\Plugins\Freeform"
|
||||
RMDir /r "$INSTDIR\Plugins\milkdrop"
|
||||
RMDir /r "$INSTDIR\Plugins\Milkdrop2"
|
||||
RMDir /r "$INSTDIR\Plugins\Predixis MusicMagic\images"
|
||||
RMDir /r "$INSTDIR\Plugins\Predixis MusicMagic"
|
||||
RMDir "$INSTDIR\Plugins\avs"
|
||||
RMDir "$INSTDIR\Plugins"
|
||||
|
||||
; System directory
|
||||
Delete "$INSTDIR\System\aacPlusDecoder.w5s"
|
||||
Delete "$INSTDIR\System\aacPlusDecoder.wbm"
|
||||
Delete "$INSTDIR\System\aacdec.w5s"
|
||||
Delete "$INSTDIR\System\aacdec.wbm"
|
||||
Delete "$INSTDIR\System\mp3.w5s"
|
||||
Delete "$INSTDIR\System\mp3.wbm"
|
||||
Delete "$INSTDIR\System\h264.w5s"
|
||||
Delete "$INSTDIR\System\h264.wbm"
|
||||
Delete "$INSTDIR\System\mp4v.w5s"
|
||||
Delete "$INSTDIR\System\mp4v.wbm"
|
||||
Delete "$INSTDIR\System\a52.w5s"
|
||||
Delete "$INSTDIR\System\a52.wbm"
|
||||
Delete "$INSTDIR\System\vlb.w5s"
|
||||
Delete "$INSTDIR\System\vlb.wbm"
|
||||
Delete "$INSTDIR\System\vp6.w5s"
|
||||
Delete "$INSTDIR\System\vp6.wbm"
|
||||
Delete "$INSTDIR\System\adpcm.w5s"
|
||||
Delete "$INSTDIR\System\adpcm.wbm"
|
||||
Delete "$INSTDIR\System\pcm.w5s"
|
||||
Delete "$INSTDIR\System\pcm.wbm"
|
||||
Delete "$INSTDIR\System\jnetlib.w5s"
|
||||
Delete "$INSTDIR\System\jnetlib.wbm"
|
||||
Delete "$INSTDIR\System\tagz.w5s"
|
||||
Delete "$INSTDIR\System\albumart.w5s"
|
||||
Delete "$INSTDIR\System\png.w5s"
|
||||
Delete "$INSTDIR\System\jpeg.w5s"
|
||||
Delete "$INSTDIR\System\bmp.w5s"
|
||||
Delete "$INSTDIR\System\gif.w5s"
|
||||
Delete "$INSTDIR\System\xml.w5s"
|
||||
Delete "$INSTDIR\System\alac.w5s"
|
||||
Delete "$INSTDIR\System\alac.wbm"
|
||||
Delete "$INSTDIR\System\f263.w5s"
|
||||
Delete "$INSTDIR\System\f263.wbm"
|
||||
Delete "$INSTDIR\System\playlist.w5s"
|
||||
Delete "$INSTDIR\System\watcher.w5s"
|
||||
Delete "$INSTDIR\System\filereader.w5s"
|
||||
Delete "$INSTDIR\System\filereader.wbm"
|
||||
Delete "$INSTDIR\System\db.w5s"
|
||||
Delete "$INSTDIR\System\gracenote.w5s"
|
||||
Delete "$INSTDIR\System\dlmgr.w5s"
|
||||
Delete "$INSTDIR\System\dlmgr.wbm"
|
||||
Delete "$INSTDIR\System\timer.w5s"
|
||||
Delete "$INSTDIR\System\omBrowser.w5s"
|
||||
Delete "$INSTDIR\System\omBrowser.wbm"
|
||||
Delete "$INSTDIR\System\auth.w5s"
|
||||
Delete "$INSTDIR\System\vp8x.w5s"
|
||||
Delete "$INSTDIR\System\vp8x.wbm"
|
||||
Delete "$INSTDIR\System\vp8.w5s"
|
||||
Delete "$INSTDIR\System\vp8.wbm"
|
||||
Delete "$INSTDIR\System\theora.w5s"
|
||||
Delete "$INSTDIR\System\theora.wbm"
|
||||
Delete "$INSTDIR\System\dca.w5s"
|
||||
Delete "$INSTDIR\System\dca.wbm"
|
||||
Delete "$INSTDIR\System\devices.w5s"
|
||||
Delete "$INSTDIR\System\devices.wbm"
|
||||
Delete "$INSTDIR\System\wasabi2.w5s"
|
||||
Delete "$INSTDIR\System\xspf.w5s"
|
||||
Delete "$INSTDIR\System\UnicodeTaskbarFix.w5s"
|
||||
Delete "$INSTDIR\System\wac_network.w5s"
|
||||
Delete "$INSTDIR\System\wac_downloadManager.w5s"
|
||||
RMDir "$INSTDIR\System"
|
||||
|
||||
; components directory
|
||||
Delete "$INSTDIR\Components\cloud.w6c"
|
||||
Delete "$INSTDIR\Components\ssdp.w6c"
|
||||
RMDir "$INSTDIR\Components"
|
||||
|
||||
; Qt Components
|
||||
Delete "$INSTDIR\Qt5Core.dll"
|
||||
Delete "$INSTDIR\Qt5Network.dll"
|
||||
Delete "$INSTDIR\platforms\qwindows.dll"
|
||||
RMDir "$INSTDIR\platforms"
|
||||
Delete "$INSTDIR\printsupport\windowsprintersupport.dll"
|
||||
RMDir "$INSTDIR\printsupport"
|
||||
Delete "$INSTDIR\QtPositioning\declarative_positioning.dll"
|
||||
RMDir "$INSTDIR\QtPositioning"
|
||||
|
||||
; Skins
|
||||
${Skins_GetPath} $0
|
||||
${If} $0 != ""
|
||||
${Skins_DeleteFolder} "$0"
|
||||
${EndIf}
|
||||
|
||||
${Skins_GetDefaultPath} $0
|
||||
${If} $0 != ""
|
||||
${Skins_DeleteFolder} "$0"
|
||||
${EndIf}
|
||||
|
||||
; Languages
|
||||
ReadINIStr $0 "$WINAMPINI" "Winamp" "LangDir"
|
||||
${If} $0 == ""
|
||||
StrCpy $0 "Lang"
|
||||
${EndIf}
|
||||
Push $INSTDIR
|
||||
Push $0
|
||||
nsis_winamp::GetFullPath
|
||||
Pop $0
|
||||
|
||||
!insertmacro WALANG_UNINSTALL $0 "ES-US"
|
||||
!insertmacro WALANG_UNINSTALL $0 "DE-DE"
|
||||
!insertmacro WALANG_UNINSTALL $0 "ES-US"
|
||||
!insertmacro WALANG_UNINSTALL $0 "FR-FR"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "IT-IT"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "NL-NL"
|
||||
!insertmacro WALANG_UNINSTALL $0 "PL-PL"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "SV-SE"
|
||||
!insertmacro WALANG_UNINSTALL $0 "RU-RU"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "ZH-CN"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "ZH-TW"
|
||||
!insertmacro WALANG_UNINSTALL $0 "JA-JP"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "KO-KR"
|
||||
!insertmacro WALANG_UNINSTALL $0 "TR-TR"
|
||||
!insertmacro WALANG_UNINSTALL $0 "PT-BR"
|
||||
!insertmacro WALANG_UNINSTALL $0 "RO-RO"
|
||||
!insertmacro WALANG_UNINSTALL $0 "HU-HU"
|
||||
;!insertmacro WALANG_UNINSTALL $0 "ID-ID"
|
||||
RMDir "$0" ; don't try to delete, prompt user later
|
||||
|
||||
Delete $INSTDIR\AOD\*.*
|
||||
RMDir $INSTDIR\AOD
|
||||
|
||||
Delete "$INSTDIR\nsutil.dll"
|
||||
Delete "$INSTDIR\Shared\nsutil.dll"
|
||||
|
||||
${If} ${AtLeastWinVista}
|
||||
ExecWait '"$INSTDIR\elevator.exe" /UnregServer'
|
||||
Sleep 1000
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\elevatorps.dll"
|
||||
UnRegDLL "$INSTDIR\elevatorps.dll"
|
||||
Sleep 1000
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\Shared\elevatorps.dll"
|
||||
UnRegDLL "$INSTDIR\Shared\elevatorps.dll"
|
||||
Sleep 1000
|
||||
${EndIf}
|
||||
|
||||
KillProcDLL::KillProc "elevator.exe"
|
||||
Sleep 1000
|
||||
Delete "$INSTDIR\elevator.exe"
|
||||
Delete "$INSTDIR\elevatorps.dll"
|
||||
Delete "$INSTDIR\Shared\elevatorps.dll"
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\elevator.exe"
|
||||
Sleep 1000
|
||||
Delete /REBOOTOK "$INSTDIR\elevator.exe"
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\elevatorps.dll"
|
||||
Sleep 1000
|
||||
Delete /REBOOTOK "$INSTDIR\elevatorps.dll"
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\Shared\elevatorps.dll"
|
||||
Sleep 1000
|
||||
Delete /REBOOTOK "$INSTDIR\Shared\elevatorps.dll"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
RMDir "$INSTDIR\Shared"
|
||||
|
||||
;Sleep 1000
|
||||
Delete /REBOOTOK "$INSTDIR\nscrt.dll"
|
||||
RMDir /r /REBOOTOK "$INSTDIR\Microsoft.VC90.CRT"
|
||||
RMDir /r /REBOOTOK "$INSTDIR\Microsoft.VC142.CRT"
|
||||
Delete "$INSTDIR\msvcr90.dll" ; this will exist on win2k installs
|
||||
|
||||
Delete "$INSTDIR\OpenCandy\*.*"
|
||||
RMDir /r "$INSTDIR\OpenCandy"
|
||||
|
||||
;Sleep 1000
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
; Deleting Firewall Rules
|
||||
Push $0
|
||||
Push $1
|
||||
|
||||
StrCpy $0 "$INSTDIR\${WINAMPEXE}"
|
||||
ExecDos::exec /NOUNLOAD /TIMEOUT=5000 'netsh advfirewall firewall delete rule name="${WINAMP}" program="$0"' "" ""
|
||||
Pop $1
|
||||
${If} $1 != 0
|
||||
ExecDos::exec /NOUNLOAD /TIMEOUT=5000 'netsh firewall delete allowedprogram program="$0"' "" ""
|
||||
${EndIf}
|
||||
|
||||
Pop $1
|
||||
Pop $0
|
||||
|
||||
StrCpy $winamp.uninstall.checkFolder "true"
|
||||
|
||||
SectionEnd
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALLER_PLAYER_HEADER
|
252
Src/installer/winamp/uninstall/programs.nsh
Normal file
252
Src/installer/winamp/uninstall/programs.nsh
Normal file
@ -0,0 +1,252 @@
|
||||
/*!ifndef NULLSOFT_WINAMP_UNINSTALL_BUNDLE_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALL_BUNDLE_HEADER
|
||||
|
||||
!include "fileFunc.nsh"
|
||||
!include ".\utils\wafuncs.nsh"
|
||||
!include ".\utils\uninstallInfo.nsh"
|
||||
!include ".\utils\sectionDescription.nsh"
|
||||
|
||||
!macro UninstallBundle_IsGroupEmpty __outputVar
|
||||
Call ${INSTALL_TYPE_PREFIX}UninstallBundle_IsGroupEmpty
|
||||
Pop "${__outputVar}"
|
||||
!macroend
|
||||
|
||||
!define UninstallBundle_IsGroupEmpty "!insertmacro 'UninstallBundle_IsGroupEmpty'"
|
||||
|
||||
!macro UninstallBundle_GetDescriptionProvider __outputVar
|
||||
GetFunctionAddress ${__outputVar} ${INSTALL_TYPE_PREFIX}UninstallBundle_DescriptionProvider
|
||||
!macroend
|
||||
|
||||
!define UninstallBundle_GetDescriptionProvider "!insertmacro 'UninstallBundle_GetDescriptionProvider'"
|
||||
|
||||
!macro UninstallBundle_UninstallProgram __displayName __programName __uninstallParam __outputResult
|
||||
Push "${__displayName}"
|
||||
Push "${__uninstallParam}"
|
||||
Push "${__programName}"
|
||||
Call ${INSTALL_TYPE_PREFIX}UninstallBundle_UninstallProgram
|
||||
Pop ${__outputResult}
|
||||
!macroend
|
||||
|
||||
!define UninstallBundle_UninstallProgram "!insertmacro 'UninstallBundle_UninstallProgram'"
|
||||
|
||||
SectionGroup "${INSTALL_TYPE_PREFIX}$(MUI_UNTEXT_CONFIRM_TITLE)" IDX_UNINSTALL_BUNDLES_GROUP
|
||||
Section "${INSTALL_TYPE_PREFIX}$(IDS_BUNDLE1_NAME)" IDX_UNINSTALL_WINAMP_REMOTE
|
||||
${UninstallBundle_UninstallProgram} "${__SECTION__}" "Orb" "/S _?=$$INSTDIR" $0
|
||||
SectionEnd
|
||||
|
||||
Section "${INSTALL_TYPE_PREFIX}$(IDS_BUNDLE2_NAME)" IDX_UNINSTALL_WINAMP_TOOLBAR
|
||||
${UninstallBundle_UninstallProgram} "${__SECTION__}" "Winamp Toolbar" "/S _?=$$INSTDIR" $0
|
||||
SectionEnd
|
||||
|
||||
Section "${INSTALL_TYPE_PREFIX}Winamp Detector Plug-in" IDX_UNINSTALL_BROWSER_PLUGIN
|
||||
${UninstallBundle_UninstallProgram} "${__SECTION__}" "Winamp Detect" "/S _?=$$INSTDIR" $0
|
||||
SectionEnd
|
||||
|
||||
Section "${INSTALL_TYPE_PREFIX}$(IDS_BUNDLE3_NAME)" IDX_UNINSTALL_EMUSIC
|
||||
${UninstallBundle_UninstallProgram} "${__SECTION__}" "eMusic Promotion" "/S _?=$$INSTDIR" $0
|
||||
SectionEnd
|
||||
SectionGroupEnd
|
||||
|
||||
Function ${INSTALL_TYPE_PREFIX}UninstallBundle_InitializeSection
|
||||
Exch $0
|
||||
Exch 1
|
||||
Exch $1
|
||||
Push $2
|
||||
Push $3
|
||||
|
||||
${UninstallInfo_FindProgramKey} $0 $2
|
||||
${If} $2 == ""
|
||||
SectionSetText $1 ""
|
||||
SectionGetFlags $1 $2
|
||||
IntOp $3 ${SF_SELECTED} ~
|
||||
IntOp $2 $2 & $3
|
||||
SectionSetFlags $1 $2
|
||||
${Else}
|
||||
${UninstallInfo_GetStringValue} $2 "DisplayName" $3
|
||||
${If} $3 != ""
|
||||
SectionSetText $1 $3
|
||||
${EndIf}
|
||||
SectionGetFlags $1 $2
|
||||
IntOp $2 $2 | ${SF_SELECTED}
|
||||
SectionSetFlags $1 $2
|
||||
${EndIf}
|
||||
|
||||
Pop $3
|
||||
Pop $2
|
||||
Pop $1
|
||||
Pop $0
|
||||
FunctionEnd
|
||||
|
||||
!macro UninstallBundle_InitializeSection __sectionIndex __bundleName
|
||||
Push "${__sectionIndex}"
|
||||
Push "${__bundleName}"
|
||||
Call ${INSTALL_TYPE_PREFIX}UninstallBundle_InitializeSection
|
||||
!macroend
|
||||
|
||||
!define UninstallBundle_InitializeSection "!insertmacro 'UninstallBundle_InitializeSection'"
|
||||
|
||||
Function ${INSTALL_TYPE_PREFIX}UninstallBundle_InitializeGroup
|
||||
${UninstallBundle_InitializeSection} ${IDX_UNINSTALL_WINAMP_TOOLBAR} "Winamp Toolbar"
|
||||
${UninstallBundle_InitializeSection} ${IDX_UNINSTALL_BROWSER_PLUGIN} "Winamp Detect"
|
||||
${UninstallBundle_InitializeSection} ${IDX_UNINSTALL_WINAMP_REMOTE} "Orb"
|
||||
${UninstallBundle_InitializeSection} ${IDX_UNINSTALL_EMUSIC} "eMusic Promotion"
|
||||
FunctionEnd
|
||||
|
||||
!define UninstallBundle_InitializeGroup "Call ${INSTALL_TYPE_PREFIX}UninstallBundle_InitializeGroup"
|
||||
|
||||
Function ${INSTALL_TYPE_PREFIX}UninstallBundle_IsGroupEmpty
|
||||
Push $0
|
||||
Push $1
|
||||
Push $2
|
||||
|
||||
StrCpy $1 ${IDX_UNINSTALL_BUNDLES_GROUP}
|
||||
${Do}
|
||||
IntOp $1 $1 + 1
|
||||
ClearErrors
|
||||
SectionGetFlags $1 $0
|
||||
${IfNot} ${Errors}
|
||||
IntOp $2 $0 & ${SF_SECGRPEND}
|
||||
${If} 0 != $2
|
||||
StrCpy $0 "true"
|
||||
${Break}
|
||||
${Else}
|
||||
IntOp $2 $0 & ${SF_SELECTED}
|
||||
${If} 0 != $2
|
||||
Push $3
|
||||
SectionGetText $1 $3
|
||||
Pop $3
|
||||
StrCpy $0 "false"
|
||||
${Break}
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${Else}
|
||||
StrCpy $0 "true"
|
||||
${Break}
|
||||
${EndIf}
|
||||
${Loop}
|
||||
Pop $2
|
||||
Pop $1
|
||||
Exch $0
|
||||
FunctionEnd
|
||||
|
||||
Function ${INSTALL_TYPE_PREFIX}UninstallBundle_DescriptionProvider
|
||||
Exch $0
|
||||
Push $1
|
||||
${Select} $0
|
||||
${Case} ${IDX_UNINSTALL_WINAMP_TOOLBAR}
|
||||
StrCpy $1 "Winamp Toolbar"
|
||||
${Case} ${IDX_UNINSTALL_BROWSER_PLUGIN}
|
||||
StrCpy $1 "Winamp Detect"
|
||||
${Case} ${IDX_UNINSTALL_WINAMP_REMOTE}
|
||||
StrCpy $1 "Orb"
|
||||
${Case} ${IDX_UNINSTALL_EMUSIC}
|
||||
StrCpy $1 "eMusic Promotion"
|
||||
${CaseElse}
|
||||
StrCpy $1 ""
|
||||
${EndSelect}
|
||||
|
||||
${If} $1 != ""
|
||||
Push $2
|
||||
${UninstallInfo_FindProgramKey} $1 $2
|
||||
${If} $2 != ""
|
||||
${UninstallInfo_GetStringValue} $2 "winampDescription" $1
|
||||
${If} $1 == ""
|
||||
${UninstallInfo_GetStringValue} $2 "Comments" $1
|
||||
${EndIf}
|
||||
${Else}
|
||||
StrCpy $1 ""
|
||||
${EndIf}
|
||||
Pop $2
|
||||
${EndIf}
|
||||
|
||||
${If} $1 == ""
|
||||
Push $0
|
||||
Call un.GetSectionDescription
|
||||
Pop $1
|
||||
${EndIf}
|
||||
|
||||
Exch $1
|
||||
Exch 1
|
||||
Pop $0
|
||||
FunctionEnd
|
||||
|
||||
Function ${INSTALL_TYPE_PREFIX}UninstallBundle_UninstallProgram
|
||||
Exch $0
|
||||
Exch 1
|
||||
Exch $1
|
||||
Exch 2
|
||||
Exch $2
|
||||
Push $3
|
||||
Push $4
|
||||
|
||||
StrCpy $4 "$(IDS_UNINSTALL_BUNDLE_TEMPLATE)"
|
||||
|
||||
${UninstallInfo_FindProgramKey} $0 $3
|
||||
${If} $3 != ""
|
||||
${UninstallInfo_GetExpandableStringValue} $3 "winampUninstall" $0
|
||||
${If} $0 == ""
|
||||
${UninstallInfo_GetExpandableStringValue} $3 "UninstallString" $0
|
||||
${If} $0 != ""
|
||||
${AndIf} $1 != ""
|
||||
|
||||
${Path_UnquoteSpaces} $0 $0
|
||||
${Path_RemoveBlanks} $0 $0
|
||||
|
||||
StrLen $2 "_?=$$INSTDIR"
|
||||
StrLen $3 $1
|
||||
${If} $3 >= $2
|
||||
Push $4
|
||||
StrCpy $4 $1 "" -$2
|
||||
${If} $4 == "_?=$$INSTDIR"
|
||||
IntOp $2 $3 - $2
|
||||
StrCpy $1 $1 $2 0
|
||||
${GetParent} $0 $2
|
||||
${Path_UnquoteSpaces} $2 $2
|
||||
StrCpy $1 "$1 _?=$2"
|
||||
StrCpy $3 "deleteUninstaller"
|
||||
${Else}
|
||||
StrCpy $3 ""
|
||||
${EndIf}
|
||||
Pop $4
|
||||
${Else}
|
||||
StrCpy $3 ""
|
||||
${EndIf}
|
||||
StrCpy $0 "$\"$0$\" $1"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${Else}
|
||||
StrCpy $0 ""
|
||||
${EndIf}
|
||||
|
||||
${If} $0 != ""
|
||||
ClearErrors
|
||||
DetailPrint $4
|
||||
SetDetailsPrint none
|
||||
ExecWait '$0' $2
|
||||
${IfNot} ${Errors}
|
||||
${AndIf} $2 == 0
|
||||
${If} $3 == "deleteUninstaller"
|
||||
${Path_RemoveArgs} $0 $1
|
||||
${Path_UnquoteSpaces} $1 $1
|
||||
${Path_RemoveBlanks} $1 $1
|
||||
Delete "$1"
|
||||
${IfNot} ${Errors}
|
||||
${GetParent} $1 $3
|
||||
RMDir "$3"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
SetDetailsPrint lastused
|
||||
${Else}
|
||||
StrCpy $2 ""
|
||||
${EndIf}
|
||||
|
||||
Pop $4
|
||||
Pop $3
|
||||
Exch $2
|
||||
Exch 2
|
||||
Pop $1
|
||||
Pop $0
|
||||
FunctionEnd
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALL_BUNDLE_HEADER*/
|
27
Src/installer/winamp/uninstall/ui.nsh
Normal file
27
Src/installer/winamp/uninstall/ui.nsh
Normal file
@ -0,0 +1,27 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_UI_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_UI_HEADER
|
||||
|
||||
!include ".\mui2.nsh"
|
||||
|
||||
PageEx un.custom
|
||||
PageCallbacks un.UI_OnComponentsPageCreate
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
!define MUI_FINISHPAGE_TEXT_LARGE
|
||||
!define MUI_FINISHPAGE_RUN
|
||||
!define MUI_FINISHPAGE_TEXT "$(IDS_UNINSTALL_SUBHEADER)"
|
||||
!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_RUN_TEXT "$(IDS_UNINSTALL_EXPLORER_CHECKBOX_TEXT)"
|
||||
!define MUI_FINISHPAGE_RUN_FUNCTION un.UI_OnFinishPageRun
|
||||
|
||||
!define MUI_FINISHPAGE_SHOWREADME
|
||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT "$(IDS_UNINSTALL_FEEDBACK_CHECKBOX_TEXT)"
|
||||
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION un.UI_OnFinishPageReadMe
|
||||
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_SHOW un.UI_OnFinishPageShow
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALLER_UI_HEADER
|
94
Src/installer/winamp/uninstall/uiEvents.nsh
Normal file
94
Src/installer/winamp/uninstall/uiEvents.nsh
Normal file
@ -0,0 +1,94 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_UI_EVENTS_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_UI_EVENTS_HEADER
|
||||
|
||||
!include ".\uninstall\ui.nsh"
|
||||
!include ".\pages\groupCheckList.nsh"
|
||||
!include ".\utils\wafuncs.nsh"
|
||||
!include ".\utils\sectionDescription.nsh"
|
||||
!include "windowText.nsh"
|
||||
|
||||
Function un.UI_OnComponentsPageCreate
|
||||
Push $0
|
||||
Push $1
|
||||
Push $2
|
||||
|
||||
${NextButton_SetLastPageMode} $0
|
||||
|
||||
StrCpy $0 ${IDX_UNINSTALL_COMPONENTS_GROUP}
|
||||
ClearErrors
|
||||
SectionGetText $0 $1
|
||||
${If} ${Errors}
|
||||
StrCpy $1 ""
|
||||
${EndIf}
|
||||
|
||||
${GetSectionDescription} $0 $2
|
||||
!insertmacro MUI_HEADER_TEXT "$1" "$2"
|
||||
|
||||
${GroupCheckList_CreatePage} $0 "" "$(IDS_UNINSTALL_COMPONENTS_FOOTER)" "" "default" ""
|
||||
|
||||
Pop $2
|
||||
Pop $1
|
||||
Pop $0
|
||||
FunctionEnd
|
||||
|
||||
Function un.UI_OnFinishPageReadMe
|
||||
${If} ${IsWinXP}
|
||||
StrCpy $0 "XP"
|
||||
${ElseIf} ${IsWinVista}
|
||||
StrCpy $0 "Vista"
|
||||
${ElseIf} ${IsWin7}
|
||||
StrCpy $0 "7"
|
||||
${ElseIf} ${IsWin8}
|
||||
StrCpy $0 "8"
|
||||
${ElseIf} ${IsWin8.1}
|
||||
StrCpy $0 "8.1"
|
||||
${Else}
|
||||
StrCpy $0 "Unknown"
|
||||
${Endif}
|
||||
ExecShell "open" '"http://services.winamp.com/redirect/support?reason=uninstall&subject=Winamp Uninstall&product=Winamp Desktop&v=${VERSION_MAJOR}.${VERSION_MINOR}${VERSION_MINOR_SECOND} ${InstallType}&platform=Windows $0"'
|
||||
FunctionEnd
|
||||
|
||||
Function un.UI_OnFinishPageRun
|
||||
ExecShell "open" '"$INSTDIR"'
|
||||
FunctionEnd
|
||||
|
||||
Function un.UI_OnFinishPageShow
|
||||
|
||||
!ifdef MUI_FINISHPAGE_RUN_VARIABLES
|
||||
${NX_OffsetWindowPos} $mui.FinishPage.Run 0 80
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_SHOREADME_VARAIBLES
|
||||
${NX_OffsetWindowPos} $mui.FinishPage.ShowReadme 0 70
|
||||
!endif
|
||||
|
||||
${NX_IncreaseWindowSize} $mui.FinishPage.Text 0 70
|
||||
|
||||
Push $0
|
||||
|
||||
StrCpy $0 ""
|
||||
${If} $winamp.uninstall.checkFolder == "true"
|
||||
${DirState} "$INSTDIR" $0
|
||||
${If} $0 == 1
|
||||
StrCpy $0 "show_explorer"
|
||||
${Else}
|
||||
StrCpy $0 0
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
${If} $0 == "show_explorer"
|
||||
${If} $mui.FinishPage.Text != 0
|
||||
${NX_SetWindowText} $mui.FinishPage.Text "$(IDS_UNINSTALL_SUBHEADER)$(IDS_UNINSTALL_FILES_NOT_REMOVED)"
|
||||
${EndIf}
|
||||
${Else}
|
||||
!ifdef MUI_FINISHPAGE_RUN_VARIABLES
|
||||
SendMessage $mui.FinishPage.Run ${BM_SETCHECK} 0 0
|
||||
ShowWindow $mui.FinishPage.Run ${SW_HIDE}
|
||||
!endif
|
||||
${EndIf}
|
||||
|
||||
Pop $0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!endif ; NULLSOFT_WINAMP_UNINSTALLER_UI_EVENTS_HEADER
|
13
Src/installer/winamp/uninstall/uninstall.nsh
Normal file
13
Src/installer/winamp/uninstall/uninstall.nsh
Normal file
@ -0,0 +1,13 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_HEADER
|
||||
|
||||
Var winamp.uninstall.checkFolder
|
||||
|
||||
!define INSTALL_TYPE_PREFIX "un."
|
||||
|
||||
!include ".\uninstall\components.nsh"
|
||||
!include ".\uninstall\ui.nsh"
|
||||
!include ".\uninstall\uiEvents.nsh"
|
||||
!include ".\uninstall\descriptionTable.nsh"
|
||||
|
||||
!endif ;NULLSOFT_WINAMP_UNINSTALLER_HEADER
|
98
Src/installer/winamp/uninstall/userData.nsh
Normal file
98
Src/installer/winamp/uninstall/userData.nsh
Normal file
@ -0,0 +1,98 @@
|
||||
!ifndef NULLSOFT_WINAMP_UNINSTALLER_USERDATA_HEADER
|
||||
!define NULLSOFT_WINAMP_UNINSTALLER_USERDATA_HEADER
|
||||
|
||||
Section "un.$(IDS_UNINSTALL_USER_PREFERENCES)" IDX_UNINSTALL_USER_PREFERENCES
|
||||
; do we still need this line? If no paths.ini, then $SETTINGSDIR = $INSTDIR anyway
|
||||
; StrCmp $SETTINGSDIR $INSTDIR skip_removeIniPath
|
||||
${FrenchRadio_UninstallUserData}
|
||||
|
||||
Delete "$INSTDIR\install.ini"
|
||||
Delete "$INSTDIR\paths.ini"
|
||||
Delete "$SETTINGSDIR\Winamp.ini"
|
||||
Delete "$SETTINGSDIR\Winamp.lks"
|
||||
Delete "$SETTINGSDIR\winamp.m3u"
|
||||
Delete "$SETTINGSDIR\winamp.m3u8"
|
||||
Delete "$SETTINGSDIR\winamp.log"
|
||||
Delete "$APPDATA\Winamp\winamp.log"
|
||||
Delete "$SETTINGSDIR\winamp.pic"
|
||||
Delete "$SETTINGSDIR\studio.xnf"
|
||||
Delete "$SETTINGSDIR\Winamp.q1"
|
||||
Delete "$SETTINGSDIR\Winamp.q2"
|
||||
Delete "$SETTINGSDIR\Winamp.bm"
|
||||
Delete "$SETTINGSDIR\Winamp.bm8"
|
||||
Delete "$SETTINGSDIR\demo.aac"
|
||||
Delete "$SETTINGSDIR\demo.mp3"
|
||||
Delete "$SETTINGSDIR\demoedit.aac"
|
||||
Delete "$SETTINGSDIR\auth.ini"
|
||||
Delete "$SETTINGSDIR\jsapisec.ini"
|
||||
Delete "$SETTINGSDIR\links.xml"
|
||||
Delete "$SETTINGSDIR\jscfg.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\plugin.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\in_mp4.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\feedback.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\vis_avs.dat"
|
||||
Delete "$SETTINGSDIR\Plugins\cddiscs.*"
|
||||
Delete "$SETTINGSDIR\Plugins\cdtracks.*"
|
||||
Delete "$SETTINGSDIR\Plugins\mudqueue.*"
|
||||
Delete "$SETTINGSDIR\Plugins\podcasts.*"
|
||||
Delete "$SETTINGSDIR\Plugins\gen_ml.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\gen_mud.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk_config.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk_img.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk_msg.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk2.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk2_img.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk2_msg.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\milk2_adapters.txt"
|
||||
Delete "$SETTINGSDIR\Plugins\Milkdrop2\milk2.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\Milkdrop2\milk2_img.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\Milkdrop2\milk2_msg.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\Milkdrop2\milk2_adapters.txt"
|
||||
Delete "$SETTINGSDIR\Plugins\ml_transcode.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\Gracenote\*.db"
|
||||
Delete "$SETTINGSDIR\Plugins\Gracenote\cddbplm.*"
|
||||
Delete "$SETTINGSDIR\Plugins\loginBox\login*.*"
|
||||
Delete "$SETTINGSDIR\Plugins\omBrowser\*.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\dropbox\*.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\omServices\*.ini"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\cache\*.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.vmd"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\views\*.vmd"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.ini"
|
||||
;Delete "$SETTINGSDIR\Plugins\ml\*.m3u*" ; maybe don't delete playlists just yet, though the RMDir /r command later probably does this anyway...
|
||||
;Delete "$SETTINGSDIR\Plugins\ml\playlists\*.m3u*" ; maybe don't delete playlists just yet, though the RMDir /r command later probably does this anyway...
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.dat"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.idx"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art\*.dat"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art\*.idx"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art\*.dat.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art\*.idx.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.xml"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\*.backup"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\feeds\*.xml"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\feeds\*.backup"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\main.dat.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art.dat.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\main.idx.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\art.idx.*"
|
||||
Delete "$SETTINGSDIR\Plugins\ml\playlists\*.xml"
|
||||
Delete "$SETTINGSDIR\Cloud\*.db"
|
||||
Delete "$SETTINGSDIR\Cloud\views\*.ini"
|
||||
Delete "$SETTINGSDIR\Cloud\logs\*.*"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\omBrowser\cache"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\omBrowser"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\Gracenote"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\Milkdrop2"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\playlists"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\views"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\feeds"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\art"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\cache"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml\omServices"
|
||||
RMDir /r "$SETTINGSDIR\Plugins\ml"
|
||||
RMDir /r "$SETTINGSDIR\Cloud\views"
|
||||
RMDir /r "$SETTINGSDIR\Cloud\logs"
|
||||
RMDir /r "$SETTINGSDIR\Cloud"
|
||||
RMDir /r "$SETTINGSDIR"
|
||||
SectionEnd
|
||||
!endif ; NULLSOFT_WINAMP_UNINSTALLER_USERDATA_HEADER
|
Reference in New Issue
Block a user