;NSIS Modern User Interface version 1.66 ;BZFSGUI Vers. 2.6.1772 ;Copyright © 2003 By Daniel Remenak ;Licensed under the Academic Free License version 1.2 ;For more information see included License.txt ;Attribution Notice: Installer Script Written by SGI ;--------------Include Modern UI------------------ !include "MUI.nsh" ;--------------Product Info----------------------- !define PROD_NAME "BZFlag Server GUI" !define VER_MAJOR "2.6" !define VER_MINOR "1772" Name "${PROD_NAME} ${VER_MAJOR} " ;--------------General---------------------------- OutFile "BZFSGUI261772.exe" SetCompress auto SetCompressor bzip2 ############upx tell me if is correct !packhdr tmp.dat '"C:\upx\upx" -9 -q tmp.dat' InstallDir "$PROGRAMFILES\${PROD_NAME}" InstallDirRegKey HKLM "Software\${PROD_NAME}" "" XPStyle on SetDatablockOptimize on ###### ADD CRCCheck force ;--------------Modern UI Configuration------------ #ICONS !define MUI_ICON "C:\NSIS Workbench\AIcons\hd.ico" !define MUI_UNICON "C:\NSIS Workbench\AIcons\recycle3.ico" ### IMMAGES HEADER/SPECIAL !define MUI_HEADERBITMAP "C:\NSIS Workbench\BZFS GUI\Files\bzheader.bmp" ;!define MUI_SPECIALBITMAP "C:\NSIS Workbench\BZFS GUI\Files\bzfsgui-wizard.bmp" #WELCOME PAGE ;!define MUI_PAGE_HEADER_TEXT "${PROD_NAME} ${VER_MAJOR} ${VER_MINOR} Setup" !define MUI_WELCOMEPAGE_TITLE "Welcome to the ${PROD_NAME} ${VER_MAJOR}.${VER_MINOR} Setup Wizard" !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the \ installation of the ${PROD_NAME}, version ${VER_MAJOR}.${VER_MINOR} .\r\n\r\nIt is strongly recommended \ that you close all other \ applications before starting Setup. This will allow Setup \ to update\certain system files without rebooting your computer.\r\n\r\n" !insertmacro MUI_PAGE_WELCOME #LICENSE PAGE !insertmacro MUI_PAGE_LICENSE "C:\NSIS Workbench\BZFS GUI\Files\License.txt" #CUSTOM PAGE Page custom SetStartInstall #DIRECTORY PAGE !insertmacro MUI_PAGE_DIRECTORY #START MENU PAGE ;!define MUI_STARTMENUPAGE Page custom StartMenuGroupSelect # INSTALL FILES PAGE !insertmacro MUI_PAGE_INSTFILES ShowInstDetails show #UNINSTALL CONFIRM PAGE !define MUI_PAGE_HEADER_TEXT "Uninstall ${PROD_NAME}" !define MUI_PAGE_HEADER_SUBTEXT "Remove ${PROD_NAME} from your computer." !define MUI_UNCONFIRMPAGE_TEXT '"This wizard will uninstall ${PROD_NAME} from your computer. \ Click Uninstall to start the uninstallation."' !INSERTMACRO MUI_UNPAGE_CONFIRM #UNINSTALL PAGE INSTALLED FILES ShowunInstDetails show !insertmacro MUI_UNPAGE_INSTFILES !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PROD_NAME}" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${PROD_NAME}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !define MUI_ABORTWARNING ;--------------Languages-------------------------- ;Header LangString TEXT_IOSTARTINSTALL_TITLE ${LANG_ENGLISH} "Updating system files" LangString TEXT_IOSTARTINSTALL_SUBTITLE ${LANG_ENGLISH} "${PROD_NAME} ${VER_MAJOR} requires the Visual \ Basic runtime DLLs and ActiveX files." ReserveFile "ioStartInstall26.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS !insertmacro MUI_LANGUAGE "English" ;--------------Reserve Files---------------------- ;Only for BZIP2 compression !insertmacro MUI_RESERVEFILE_LANGDLL ;--------------Installer Functions---------------- Function .onInit ;Extract InstallOptions INI Files !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioStartInstall26.ini" Banner::show /NOUNLOAD /set 76 "Welcome from the BZFSGUI team" "${PROD_NAME} ${VER_MAJOR}.${VER_MINOR}" Sleep 1800 Banner::destroy ################################# PITA Autouninstall################################# ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROD_NAME}" "uninstallstring" StrCmp $1 "" cont StrCmp $0 "" done cont: HideWindow MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \ "This wizard will autouninstall the ${PROD_NAME}. $\n$\nIt is strongly recommended that \ you uninstall manually any previous versions of \ ${PROD_NAME} 2.5.${VER_MINOR}$\n$\nClick `OK` to install or `Cancel` to cancel this upgrade." \ IDOK uninst Abort uninst: ClearErrors ExecWait '"$INSTDIR\uninstall.exe"/ _?=$INSTDIR' $0 StrCmp $0 0 goodToGo Abort goodToGo: done: BringToFront ########################################################################################## FunctionEnd Function SetStartInstall !insertmacro MUI_HEADER_TEXT "$(TEXT_IOSTARTINSTALL_TITLE)" "$(TEXT_IOSTARTINSTALL_SUBTITLE)" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioStartInstall26.ini" "Field 2" "Value Name" "Value" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioStartInstall26.ini" FunctionEnd Section "-Bzfsgui" SecBZFS GUI SectionIn RO SetOutPath "$INSTDIR" File "C:\NSIS Workbench\BZFS GUI\Files\BZFS GUI.exe" File "C:\NSIS Workbench\BZFS GUI\Files\ChangeLog.txt" File "C:\NSIS Workbench\BZFS GUI\Files\License.txt" File "C:\NSIS Workbench\BZFS GUI\Files\Readme.txt" WriteRegStr HKLM "Software\${PROD_NAME}" "" $INSTDIR WriteUninstaller "$INSTDIR\Uninstall.exe" SectionEnd Function StartMenuGroupSelect Push $R1 StartMenu::Select /checknoshortcuts "Don't create a start menu folder" /autoadd /lastused $R0 "${PROD_NAME}" Pop $R1 StrCmp $R1 "success" success StrCmp $R1 "cancel" done ;error MessageBox MB_OK $R1 Return success: Pop $R0 done: Pop $R1 FunctionEnd Section # this part is only necessary if you used /checknoshortcuts StrCpy $R1 $R0 1 StrCmp $R1 ">" skip CreateDirectory "$SMPROGRAMS\$R0\" CreateShortCut "$SMPROGRAMS\$R0\Uninstall.lnk""$INSTDIR\uninstall.exe""""$INSTDIR\uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\$R0\${PROD_NAME}.lnk""$INSTDIR\BZFS GUI.exe""""$INSTDIR\BZFS GUI.exe" 0 CreateShortCut "$SMPROGRAMS\$R0\Readme.lnk""$INSTDIR\Readme.txt""""$INSTDIR\Readme.txt" 0 CreateShortCut "$SMPROGRAMS\$R0\Changelog.lnk""$INSTDIR\Changelog.txt""""$INSTDIR\Changelog.txt" 0 CreateShortCut "$DESKTOP\${PROD_NAME}.lnk""$INSTDIR\BZFS GUI.exe""""$INSTDIR\BZFS GUI.exe" skip: SectionEnd ;--------------Uninstaller Sections---------------- Section "Uninstall" DeleteRegKey /ifempty HKLM "Software\${PROD_NAME}" DeleteRegKey /ifempty HKLM "Software\${PROD_NAME}\BZFS GUI" DeleteRegKey /ifempty HKLM "Software\${PROD_NAME}\ChangeLog" DeleteRegKey /ifempty HKLM "Software\${PROD_NAME}\License" DeleteRegKey /ifempty HKLM "Software\${PROD_NAME}\Readme" Delete "$INSTDIR\${PROD_NAME}" Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\changeLog.txt" Delete "$INSTDIR\License.txt" Delete "$INSTDIR\Readme.txt" Delete "$INSTDIR\BZFS GUI.exe" RMDir "$INSTDIR" ################################################################# ############This mexage must be changed ..because the installer now delete ini and bat files MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to remove the BZFSGUI.ini file?\ $\n$\nThis file contains your BZFSGUI settings; it is only necessary to keep \ it if you $\n$\nplan on installing BZFSGUI again later,nand do not \ want to reconfigure it." IDNO NoDelete Delete "$INSTDIR\*.ini" #changed too delete all ini files Delete "$INSTDIR\*.bat" #changed too delete all bat files NoDelete: !insertmacro MUI_STARTMENU_GETFOLDER $R0 ;Remove start menu shortcuts Delete "$SMPROGRAMS\$R0\Uninstall.lnk" Delete "$SMPROGRAMS\$R0\${PROD_NAME}.lnk" Delete "$SMPROGRAMS\$R0\Readme.lnk" Delete "$SMPROGRAMS\$R0\Changelog.lnk" Delete "$DESKTOP\${PROD_NAME}.lnk" RMDir "$SMPROGRAMS\$R0" SectionEnd