diff options
Diffstat (limited to 'Src/installer/winamp/uninstall')
-rw-r--r-- | Src/installer/winamp/uninstall/components.nsh | 28 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/descriptionTable.nsh | 12 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/player.nsh | 566 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/programs.nsh | 252 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/ui.nsh | 27 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/uiEvents.nsh | 94 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/uninstall.nsh | 13 | ||||
-rw-r--r-- | Src/installer/winamp/uninstall/userData.nsh | 98 |
8 files changed, 1090 insertions, 0 deletions
diff --git a/Src/installer/winamp/uninstall/components.nsh b/Src/installer/winamp/uninstall/components.nsh new file mode 100644 index 00000000..2ee280ee --- /dev/null +++ b/Src/installer/winamp/uninstall/components.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/descriptionTable.nsh b/Src/installer/winamp/uninstall/descriptionTable.nsh new file mode 100644 index 00000000..787708c9 --- /dev/null +++ b/Src/installer/winamp/uninstall/descriptionTable.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/player.nsh b/Src/installer/winamp/uninstall/player.nsh new file mode 100644 index 00000000..049abdaf --- /dev/null +++ b/Src/installer/winamp/uninstall/player.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/programs.nsh b/Src/installer/winamp/uninstall/programs.nsh new file mode 100644 index 00000000..6009f64b --- /dev/null +++ b/Src/installer/winamp/uninstall/programs.nsh @@ -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*/
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/ui.nsh b/Src/installer/winamp/uninstall/ui.nsh new file mode 100644 index 00000000..23e7cfa9 --- /dev/null +++ b/Src/installer/winamp/uninstall/ui.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/uiEvents.nsh b/Src/installer/winamp/uninstall/uiEvents.nsh new file mode 100644 index 00000000..e18f7d60 --- /dev/null +++ b/Src/installer/winamp/uninstall/uiEvents.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/uninstall.nsh b/Src/installer/winamp/uninstall/uninstall.nsh new file mode 100644 index 00000000..59d50b06 --- /dev/null +++ b/Src/installer/winamp/uninstall/uninstall.nsh @@ -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
\ No newline at end of file diff --git a/Src/installer/winamp/uninstall/userData.nsh b/Src/installer/winamp/uninstall/userData.nsh new file mode 100644 index 00000000..70d78516 --- /dev/null +++ b/Src/installer/winamp/uninstall/userData.nsh @@ -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
\ No newline at end of file |