123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- ; waplugin.nsi
- ;
- ; This script will generate an installer that installs a Winamp 2 plug-in.
- ;
- ; This installer will automatically alert the user that installation was
- ; successful, and ask them whether or not they would like to make the
- ; plug-in the default and run Winamp.
- ;--------------------------------
- ;Header Files
- !include "Sections.nsh"
- !include "WinMessages.nsh"
- ; common defines for a generic dro installer :o)
- !define VERSION "0.6"
- !define ALT_VER "0_6"
- !define PLUG "Album Art Viewer"
- !define PLUG_ALT "Album_Art_Viewer"
- !define PLUG_FILE "gen_classicart"
- ; use leet compression
- SetCompressor lzma
- ; adds xp style support
- XPStyle on
- ; The name of the installer
- Name "${PLUG} v${VERSION}"
- ; The file to write
- OutFile "${PLUG_ALT}_v${ALT_VER}.exe"
- InstType "Plugin only"
- InstType "Plugin + language file"
- InstType /NOCUSTOM
- InstType /COMPONENTSONLYONCUSTOM
- ; The default installation directory
- InstallDir $PROGRAMFILES\Winamp
- InstProgressFlags smooth
- ; detect winamp path from uninstall string if available
- InstallDirRegKey HKLM \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" \
- "UninstallString"
- ; The text to prompt the user to enter a directory
- DirText "Please select your Winamp path below (you will be able to proceed when Winamp is detected):"
- # currently doesn't work - DirShow hide
- ; automatically close the installer when done.
- AutoCloseWindow true
- ; hide the "show details" box
- ShowInstDetails show
- ;--------------------------------
- ;Pages
- PageEx directory
- Caption " "
- PageExEnd
- Page components
- Page instfiles
- ;--------------------------------
- ; The stuff to install
- Section ""
- SetOverwrite on
- SetOutPath "$INSTDIR\Plugins"
- ; File to extract
- File "x86_Release\${PLUG_FILE}.dll"
- SetOverwrite off
- SectionEnd
- Section "Example language file"
- ; SectionSetFlags 0 SF_BOLD
- SectionIn 2
- SetOverwrite on
- SetOutPath "$INSTDIR\Plugins\${PLUG_FILE}"
- ; File to extract
- File "x86_Release\LangFiles\${PLUG_FILE}.lng"
- SetOverwrite off
- SectionEnd
- ;--------------------------------
- Function .onInit
- ;Detect running Winamp instances and close them
- !define WINAMP_FILE_EXIT 40001
- FindWindow $R0 "Winamp v1.x"
- IntCmp $R0 0 ok
- MessageBox MB_YESNO|MB_ICONEXCLAMATION "Please close all instances of Winamp before installing$\n\
- ${PLUG} v${VERSION}. Attempt to close Winamp now?" IDYES checkagain IDNO no
- checkagain:
- FindWindow $R0 "Winamp v1.x"
- IntCmp $R0 0 ok
- SendMessage $R0 ${WM_COMMAND} ${WINAMP_FILE_EXIT} 0
- Goto checkagain
- no:
- Abort
- ok:
- FunctionEnd
- Function .onInstSuccess
- MessageBox MB_YESNO \
- '${PLUG} was installed. Do you want to run Winamp now?' \
- IDNO end
- ExecShell open "$INSTDIR\Winamp.exe"
- end:
- FunctionEnd
- Function .onVerifyInstDir
- ;Check for Winamp installation
- IfFileExists $INSTDIR\Winamp.exe Good
- Abort
- Good:
- FunctionEnd
|