123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- !include "MUI2.nsh"
- ; This is where all projects live. Ensure this is the correct relative path.
- !ifndef PROJECTS
- !define PROJECTS '..\..'
- !endif
- !ifndef FILES_PATH
- !define FILES_PATH '..\..\output\winamp'
- !endif
- ;------------------------
- SetCompressor /SOLID /FINAL lzma
- SetCompressorDictSize 16
- FileBufSize 64
-
- RequestExecutionLevel admin
- Name "Winamp Web Development"
- OutFile "wa_webdev.exe"
- InstallDir $PROGRAMFILES\Winamp
- InstProgressFlags smooth
- XPStyle on
- ShowInstDetails hide
- AutoCloseWindow true
- LangString IDS_CLOSE_WINAMP ${LANG_ENGLISH} "You must close Winamp before you can continue.$\r$\n - After you have closed Winamp, select Retry.$\r$\n - If you wish to try to install anyway, select Ignore.$\r$\n - If you wish to abort the installation, select Abort."
- LangString IDS_USER_ABORT ${LANG_ENGLISH} "User action: Abort Installation"
- LangString IDS_USER_IGNORE ${LANG_ENGLISH} "User action: Ignore File"
- LangString IDS_PAGE_FINISH_TEXT ${LANG_ENGLISH} "To use the plugin, reopen Winamp and go to the WebDev Platform view in the Media Library."
- LangString IDS_PAGE_FINISH_RUN ${LANG_ENGLISH} "Launch Winamp after the installer closes"
- LangString IDS_FILE_PROBE ${LANG_ENGLISH} "Probing access: $OUTDIR\$0"
- !define MUI_ICON ".\resources\install.ico"
- !define MUI_UNICON ".\resources\uninstall.ico"
- !define MUI_ABORTWARNING
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_BITMAP ".\resources\header.bmp"
- !define MUI_WELCOMEFINISHPAGE_BITMAP ".\resources\welcome.bmp"
- !define MUI_UNWELCOMEFINISHPAGE_BITMAP ".\resources\welcome.bmp"
- !insertmacro MUI_PAGE_WELCOME
-
- ; detect Winamp path from uninstall string if available
- InstallDirRegKey HKLM \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" \
- "UninstallString"
-
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_INSTFILES
- !define MUI_FINISHPAGE_TEXT $(IDS_PAGE_FINISH_TEXT)
- !define MUI_FINISHPAGE_RUN
- !define MUI_FINISHPAGE_RUN_TEXT $(IDS_PAGE_FINISH_RUN)
- !define MUI_FINISHPAGE_RUN_FUNCTION FinishPage_Run
- !insertmacro MUI_PAGE_FINISH
- !insertmacro MUI_LANGUAGE "English"
- !include "FileFunc.nsh"
- !define WriteWinampFile "!insertmacro WriteWinampFile"
- !macro WriteWinampFile filePath
- Push $0
- ${GetFileName} "${filePath}" $0
- DetailPrint $(IDS_FILE_PROBE)
- ${Do}
- ClearErrors
- Delete "$OUTDIR\$0"
- ${If} ${Errors}
- SetErrors
- IfSilent done_${filePath}
- MessageBox MB_DEFBUTTON2|MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION $(IDS_CLOSE_WINAMP) IDABORT done_${filePath} IDRETRY +4
- ClearErrors
- DetailPrint $(IDS_USER_IGNORE)
- Goto macroend_${filePath}
- ${EndIf}
- ${LoopWhile} ${Errors}
- done_${filePath}:
- ${If} ${Errors}
- Abort $(IDS_USER_ABORT)
- ${Else}
- File ${filePath}
- ${EndIf}
- macroend_${filePath}:
- Pop $0
- !macroend
- Function FinishPage_Run
-
- HideWindow
- Exec "$INSTDIR\winamp.exe"
- Sleep 500
- FunctionEnd
- Section ""
- SetOutPath $INSTDIR\Plugins
- ${WriteWinampFile} "${FILES_PATH}\Plugins\ml_webdev.dll"
- SetOutPath $INSTDIR\System
- ${WriteWinampFile} "${FILES_PATH}\System\omBrowser.w5s"
-
- SectionEnd
|