home *** CD-ROM | disk | FTP | other *** search
Wrap
; Frozen Bubble Win32 port installer script ; This script requires NSIS 2.0b3 and above ; http://nsis.sf.net ; ; Written by Amir Szekely #SetCompressor bzip2 !define MUI_PRODUCT "Frozen Bubble" !define MUI_VERSION "1.0.0" !include "MUI.nsh" ;-------------------------------- ;Configuration !define MUI_FINISHPAGE !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Frozen Bubble.lnk" !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE !define MUI_ABORTWARNING !define MUI_UNCONFIRMPAGE !define MUI_UNINSTALLER !define MUI_STARTMENUPAGE !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Frozen Bubble" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !define MUI_STARTMENUPAGE_VARIABLE $R9 !define MUI_HEADERBITMAP "branding.bmp" ;Language !define MUI_TEXT_FINISH_SHOWREADME "Run ${MUI_PRODUCT}" !insertmacro MUI_LANGUAGE "English" ;General OutFile "Frozen Bubble.exe" ;License page LicenseData "license.rtf" ;Folder-selection page InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" ;-------------------------------- ;Check for Perl and SDL_Perl and show splash screen Function .onInit Banner::show /NOUNLOAD "Checking for Perl and SDL_Perl..." ReadRegStr $0 HKLM Software\Perl BinDir StrCmp $5 "" 0 +2 StrCpy $5 perl.exe nsExec::Exec '"$5" -v' Pop $0 StrCmp $0 0 checkSDL MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION "The installer can not find Perl and SDL_perl on this computer!$\r$\nPlease install Perl and SDL_perl and run this installer again.$\r$\nPress cancel if you are sure you have Perl and SDL_Perl installed.$\r$\n$\r$\nWould you like the installer to open Perl's download page for you?" IDNO abort IDCANCEL splash ExecShell open http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl MessageBox MB_OK|MB_ICONINFORMATION "Please make sure you download Perl 5.6.*. The current version of SDL_Perl doesn't work with Perl 5.8.*." IDOK abort checkSDL: nsExec::Exec '"$5" -e "use SDL; print $$SDL::VERSION;"' Pop $0 StrCmp $0 0 splash ReadRegStr $0 HKLM Software\SDL_Perl Install_Dir IfFileExists $0 0 install_SDL_Perl MessageBox MB_YESNO|MB_ICONEXCLAMATION `It seems that you have installed SDL_Perl but didn't add it to Perl's package list.$\r$\nTo add it to Perl's package list you must call "ppm install SDL_perl.ppd". Would you like the installer to call it for you?` IDNO abort SetOutPath $0 ExecWait "ppm install SDL_perl.ppd" $1 StrCmp $1 0 splash MessageBox MB_OK|MB_ICONSTOP "Installation failed. Please install SDL_Perl manually and run this installer again." IDOK abort install_SDL_Perl: MessageBox MB_YESNO|MB_ICONEXCLAMATION "The installer can not find SDL_Perl on this computer!$\r$\nPlease install SDL_Perl and run this installer again.$\r$\n$\r$\nWould you like the installer to open SDL_Perl's download page for you?" IDNO abort ExecShell open http://www.sdlperl.org/index.htpl?id=0&cat=projects Goto abort splash: Banner::destroy File /oname=$PLUGINSDIR\splash.bmp splash.bmp File /oname=$PLUGINSDIR\splash.wav ..\snd\malus.wav advsplash::show 1800 350 187 -1 $PLUGINSDIR\splash Pop $0 ; $0 has '1' if the user closed the splash screen early, ; '0' if everything closed normal, and '-1' if some error occured. Return abort: Banner::destroy Abort FunctionEnd ;-------------------------------- ;Installer Sections Section "!Frozen Bubble" SecCore SectionIn RO SetOutPath $INSTDIR File ..\AUTHORS.txt File ..\CHANGES.txt File ..\COPYING.txt File ..\README.txt File "..\Windows Port.txt" File ..\frozen-bubble File ..\frozen-bubble-editor File /r ..\gfx File /r ..\lib File /r ..\snd File /r ..\data File /r ..\doc StrCmp $5 perl.exe 0 +2 SearchPath $5 perl.exe StrCmp $5 "" 0 +2 StrCpy $5 perl.exe CreateShortcut "$INSTDIR\Frozen Bubble.lnk" $5 "-I.\lib frozen-bubble" $INSTDIR\gfx\icon.ico WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Frozen Bubble" DisplayName "Frozen Bubble" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Frozen Bubble" UninstallString '"$INSTDIR\Uninstall.exe"' WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Frozen Bubble" DisplayIcon $INSTDIR\gfx\icon.ico WriteUninstaller $INSTDIR\Uninstall.exe SectionEnd Section -StartMenu !insertmacro MUI_STARTMENU_WRITE_BEGIN SetShellVarContext all CreateDirectory $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE} IfFileExists $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE} createIcons SetShellVarContext current CreateDirectory $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE} createIcons: CreateShortcut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Frozen Bubble.lnk" $5 "-I.\lib frozen-bubble" $INSTDIR\gfx\icon.ico CreateShortCut $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk $INSTDIR\Uninstall.exe CreateShortCut $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\License.lnk $INSTDIR\COPYING.txt CreateShortCut $SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Readme.lnk $INSTDIR\README.txt CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Windows Port.lnk" "$INSTDIR\Windows Port.txt" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section "Desktop icon" SecDesktop CreateShortcut "$DESKTOP\Frozen Bubble.lnk" $5 "-I.\lib frozen-bubble" $INSTDIR\gfx\icon.ico SectionEnd Section "Quick Launch icon" SecQuick StrCmp $QUICKLAUNCH $TEMP +2 CreateShortcut "$QUICKLAUNCH\Frozen Bubble.lnk" $5 "-I.\lib frozen-bubble" $INSTDIR\gfx\icon.ico SectionEnd Section "Install script" SecScript SetOutPath $INSTDIR\install File "Frozen Bubble.nsi" File license.rtf File splash.bmp File branding.bmp SectionEnd ;-------------------------------- ;Descriptions !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "Game files" !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "An icon of Frozen Bubble on the desktop" !insertmacro MUI_DESCRIPTION_TEXT ${SecQuick} "An icon of Frozen Bubble in the Quick Launch bar" !insertmacro MUI_DESCRIPTION_TEXT ${SecScript} "This installer scripts (requires NSIS)" !insertmacro MUI_FUNCTIONS_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" Delete $INSTDIR\AUTHORS.txt Delete $INSTDIR\CHANGES.txt Delete $INSTDIR\COPYING.txt Delete $INSTDIR\README.txt Delete "$INSTDIR\Windows Port.txt" Delete $INSTDIR\frozen-bubble Delete $INSTDIR\frozen-bubble-editor Delete "$INSTDIR\Frozen Bubble.lnk" Delete $INSTDIR\.fbrc Delete $INSTDIR\.fbhighscores Delete $INSTDIR\.fbhighlevelshistory Delete $INSTDIR\Uninstall.exe RMDir /r $INSTDIR\gfx RMDir /r $INSTDIR\lib RMDir /r $INSTDIR\snd RMDir /r $INSTDIR\data RMDir /r $INSTDIR\install RMDir /r $INSTDIR\doc RMDir /r $INSTDIR\.fblevels RMDir $INSTDIR ReadRegStr $0 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" StrCmp $0 "" noshortcuts Delete "$0\Frozen Bubble.lnk" Delete $0\Uninstall.lnk Delete $0\License.lnk Delete $0\Readme.lnk Delete "$0\Windows Port.lnk" RMDir $0 noshortcuts: DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Frozen Bubble" Delete "$DESKTOP\Frozen Bubble.lnk" Delete "$QUICKLAUNCH\Frozen Bubble.lnk" !insertmacro MUI_UNFINISHHEADER SectionEnd ;eof