123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- !include "FileFunc.nsh"
- !include ".\sectionsHelper.nsh"
- Section -SetWinampFolders
- ${If} ${Silent}
- Call SetupWinampDirectories
- ${EndIf}
- SectionEnd
- Section -KillWA
- ${If} ${FileExists} "$INSTDIR\${WINAMPEXE}"
- StrCpy $FIRSTINSTALL "0"
- ${Else}
- StrCpy $FIRSTINSTALL "1"
- ${EndIf}
- ${If} ${FileExists} "$WINAMPM3U"
- StrCpy $needplaystart "0"
- ${Else}
- StrCpy $needplaystart "1"
- ${EndIf}
- DetailPrint $(IDS_RUN_CHECK_PROCESS)
- SetDetailsPrint none
- ${Do}
- ClearErrors
- Delete "$INSTDIR\${WINAMPEXE}"
- ${If} ${Errors}
- SetErrors
- IfSilent done
- MessageBox MB_DEFBUTTON2|MB_ABORTRETRYIGNORE $(msgCloseWinamp) IDABORT done IDRETRY +2
- ClearErrors
- ${EndIf}
- ${LoopWhile} ${Errors}
- StrCpy $1 0
- ${Do}
- ClearErrors
- Delete "$INSTDIR\winampa.exe"
- ${If} ${Errors}
- SetErrors
- FindWindow $0 "WinampAgentMain"
- ${If} $0 = 0 ; something bad or other session
- IfSilent done
- MessageBox MB_DEFBUTTON2|MB_ABORTRETRYIGNORE $(IDS_MSG_AGENTONOTHERSESSION) IDABORT done IDRETRY +2
- ClearErrors
- ${Else}
- IntOp $1 $1 + 1
- IntCmp $1 40 done
- SendMessage $0 ${WM_CLOSE} 0 0 /TIMEOUT=2000
- Sleep 250
- IsWindow $0 0 agentwnd_killed
- SendMessage $0 ${WM_DESTROY} 0 0 /TIMEOUT=2000
- Sleep 250
- agentwnd_killed:
- ${EndIf}
- ${EndIf}
- ${LoopWhile} ${Errors}
- done:
- SetDetailsPrint lastused
- ${If} ${Errors}
- Abort $(msgInstallAborted)
- ${EndIf}
- ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "WinampAgent"
- ${If} $0 == "$INSTDIR\winampa.exe"
- StrCpy $RESTARTAGENT "1"
- DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "WinampAgent"
- ${Else}
- StrCpy $RESTARTAGENT "0"
- ${EndIf}
- SectionEnd
- Section -HiddenPathINI
- CreateDirectory $INSTDIR
- ${If} $SETTINGSDIR != $INSTDIR
- CreateDirectory $SETTINGSDIR
- Call GetWinampFolder
- Pop $0
- SetShellVarContext current
- StrCpy $1 "$APPDATA\$0"
- ${If} $SETTINGSDIR == $1
- WriteINIStr "$INSTDIR\paths.ini" "Winamp" "inidir" "{26}\$0"
- ${Else}
- WriteINIStr "$INSTDIR\paths.ini" "Winamp" "inidir" "$SETTINGSDIR"
- ${EndIf}
- ${EndIf}
- SectionEnd
- !include ".\sections\winamp.nsh"
- !ifndef WINAMP64
- Section -HiddenFeedback
- SetOutPath "$INSTDIR\Plugins"
- Delete "$INSTDIR\Plugins\gen_talkback.dll"
- File /nonfatal "${FILES_PATH}\Plugins\gen_crasher.dll"
- Delete "$INSTDIR\Plugins\reporter.exe"
- Delete "$INSTDIR\Plugins\tbsetup.exe"
- SetOutPath "$INSTDIR"
- File /nonfatal "${FILES_PATH}\reporter.exe"
- SectionEnd
- !endif ; WINAMP64
- !ifndef WINAMP64
- ${WinampSection} "winampAgent" $(compAgent) IDX_SEC_AGENT
- ${SECTIONIN_LITE}
- SetOutPath $INSTDIR
- File "${FILES_PATH}\winampa.exe"
- ${If} $RESTARTAGENT == "1"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "WinampAgent" "$INSTDIR\winampa.exe"
- ${EndIf}
- Var /GLOBAL WINAMP_SECTION_NAME_4
- StrCpy $WINAMP_SECTION_NAME_4 "winampAgent"
- ${WinampSectionEnd}
- !endif ; WINAMP64
- !include ".\sections\frenchRadio.nsh"
- !include ".\sections\grp_mmedia.nsh"
- !include ".\sections\grp_walib.nsh"
- !include ".\sections\grp_uiext.nsh"
- !include ".\sections\grp_vis.nsh"
- !include ".\sections\extra.nsh"
- !include ".\sections\wmfdist.nsh"
- !include ".\sections\directX.nsh"
- ${DIRECTXINSTALL_INSERT_SECTION}
- !insertmacro GetTime
- Section "-end" IDX_SECTION_END
- SetDetailsPrint textonly
- ${If} ${FileExists} "$INSTDIR\Plugins\gen_peercast.dll"
- GetDLLVersion "$INSTDIR\Plugins\gen_peercast.dll" $0 $1
- ${If} $0 == ""
- MessageBox MB_YESNO "Peercast plug-in detected. The old version of this plug-in$\r$\nmay cause problems. Hit Yes to remove this plug-in (recommended)." /SD IDYES IDNO +2
- Delete "$INSTDIR\Plugins\gen_peercast.dll"
- ${EndIf}
- ${EndIf}
- Delete "$INSTDIR\Plugins\gen_nomad.dll" ; ha ha fuck off creative
- Delete "$INSTDIR\Plugins\in_mp3pro.dll" ; mp3 pro plugin is BUGGGGGY
- Delete "$INSTDIR\Plugins\gen_diebrowserdie.dll" ; DrO's deprecated StationInfo window killer
- Delete "$INSTDIR\Plugins\ml_lite_n.dll" ; deprecated essential pack plugin
- Delete "$INSTDIR\Plugins\gen_nopro.dll" ; deprecated essential pack plugin
- Delete "$INSTDIR\Plugins\gen_killpredixis.dll" ; deprecated essential pack plugin
- Delete "$INSTDIR\Plugins\gen_b4s2m3u.dll" ; DrO's deprecated PlaylistLoader plugin
- ; Delete "$INSTDIR\Plugins\gen_skinmanager.dll" ; placeholder for old essential pack plugin
- ; Delete "$INSTDIR\Plugins\gen_timerestore.dll" ; placeholder for old essential pack plugin
- ; Delete "$INSTDIR\Plugins\gen_undo.dll" ; placeholder for old essential pack plugin
- DeleteRegKey HKCR .wpz
- DeleteRegKey HKCR aip_file
- DeleteINIStr "$WINAMPINI" "Winamp" "mb_open"
- DeleteINIStr "$WINAMPINI" "Winamp" "last_shortdesc"
- DeleteINIStr "$WINAMPINI" "Winamp" "last_shorturl"
- WriteINIStr "$WINAMPINI" "Winamp" "mw_open" "1"
- ReadINIStr $R0 "$WINAMPINI" "Winamp" "outname"
- ${If} $R0 == ""
- ${If} ${FileExists} "$INSTDIR\Plugins\out_ds.dll"
- WriteINIStr "$WINAMPINI" "Winamp" "outname" "out_ds.dll"
- ${Else}
- ${If} ${FileExists} "$INSTDIR\Plugins\out_wave.dll"
- WriteINIStr "$WINAMPINI" "Winamp" "outname" "out_wave.dll"
- ${EndIf}
- ${EndIf}
- ${EndIf}
- Call StartMenu_WriteData
- WriteUninstaller "$INSTDIR\UninstWA.exe"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "DisplayName" "${WINAMP}"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "DisplayIcon" "$INSTDIR\${WINAMPEXE},0"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "InstallLocation" "$INSTDIR"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "UninstallString" '"$INSTDIR\UninstWA.exe"'
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "HelpLink" "http://forums.winamp.com"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "URLInfoAbout" "http://www.winamp.com/"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "URLUpdateInfo" "http://www.winamp.com/"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "Publisher" "Winamp SA"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "DisplayVersion" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MINOR_SECOND}"
- ; WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "DisplayVersion" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MINOR_SECOND} ${InstallType}"
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "NoModify" 1
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${WINAMP}" "NoRepair" 1
- WriteRegStr HKCU "Software\${WINAMP}" "" "$INSTDIR"
- ; Add to App Paths for: Start -> Run -> Winamp
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\${WINAMPEXE}" "" "$INSTDIR\${WINAMPEXE}"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\${WINAMPEXE}" "Path" "$INSTDIR"
- WriteINIStr "$INSTINI" "installer" "build" "${VERSION_SUFFIX}"
- ${GetTime} "" "LS" $0 $1 $2 $3 $4 $5 $6
- WriteINIStr "$INSTINI" "installer" "date" "$1/$0/$2 $4:$5:$6"
- WriteINIStr "$WINAMPINI" "WinampReg" "IsFirstInst" $FIRSTINSTALL
- WriteINIStr "$WINAMPINI" "WinampReg" "NeedReg" "1"
- ${If} $needplaystart <> 0
- WriteINIStr "$WINAMPINI" "SETUP" "WAParam" "$WINAMPM3U"
- ${Else}
- DeleteINIStr "$WINAMPINI" "SETUP" "WAParam"
- ${EndIf}
- SectionEnd
|