Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
;NSIS Setup Script for Mara.exe!define VER_MAJOR 2003!define VER_MINOR 04!define NAME "Mara"!define DEVELOPER "DDP";--------------------------------;ConfigurationOutFile setup_${VER_MAJOR}_${VER_MINOR}.exeSetCompressor bzip2InstType "Standard (Program Only)"InstType "Data (Include Historical Data)"InstType "Full (Source and historical data)"ShowInstDetails showShowUninstDetails showSetDateSave on;---------------------------------; Set the default installation directory, but then read; the registory key used to maintain the last install;InstallDir $PROGRAMFILES\${NAME}InstallDirRegKey HKLM SOFTWARE\${DEVELOPER}\${NAME} "Install_Dir";--------------------------------!ifndef CLASSIC_UI;Include Modern UI Macro's!include "${NSISDIR}\Contrib\Modern UI\System.nsh";--------------------------------;Modern UI Configuration!define MUI_PRODUCT ${NAME}!define MUI_VERSION ${VER_MAJOR}_${VER_MINOR}!define MUI_NAME "${NAME} ${MUI_VERSION}" ;Installer name!define MUI_WELCOMEPAGE!define MUI_LICENSEPAGE!define MUI_COMPONENTSPAGE!define MUI_COMPONENTSPAGE_SMALLDESC!define MUI_DIRECTORYPAGE; !define MUI_STARTMENUPAGE!define MUI_STARTMENUPAGE_VARIABLE ${NAME}!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"!define MUI_STARTMENUPAGE_REGISTRY_KEY "SOFTWARE\${DEVELOPER}\${NAME}"!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start_Menu_Folder"!define MUI_FINISHPAGE;!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED;!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"!define MUI_FINISHPAGE_NOREBOOTSUPPORT; !define MUI_FINISHPAGE_NOAUTOCLOSE!define MUI_ABORTWARNING!define MUI_UNINSTALLER!define MUI_UNCONFIRMPAGE!define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header.bmp"!define MUI_SPECIALBITMAP "${NSISDIR}\Contrib\Icons\modern-wizard nsis llama.bmp";--------------------------------;Languages!define MUI_TEXT_WELCOME_INFO_TEXT "This wizard will guide you through the installation of MARA. A marathon tracking program\n\n"!insertmacro MUI_LANGUAGE "English";--------------------------------;Reserve Files!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS!insertmacro MUI_RESERVEFILE_SPECIALINI!insertmacro MUI_RESERVEFILE_SPECIALBITMAP!endif;--------------------------------;DataLicenseData license.txt;--------------------------------;Installer Sections!define SF_SELECTED 1Section "Mara Program (required)" SecCoreSectionIn 1 2 3 ROSetOutPath $INSTDIRRMDir /r $SMPROGRAMS\NSISSetOverwrite onFile mara.exeFile MARA_OLD.EXEFile mara.icoFile getx07.exeFile license.txtSectionEndSubSection /e "Historical Data" SecDataSection "2001" SecData2001BaseSectionIn 2 3SetOutPath $INSTDIRFile brmr2001.datFile brmr2001.csvFile brmr2001.cnfSectionEndSubSection "2002" SecData2002Section "2002" SecData2002BaseSectionIn 2 3SetOutPath $INSTDIRFile brmr2002.datFile brmr2002.csvFile brmr2002.cnfSectionEndSection "2002 Text" SecData2002TextSectionIn 2 3SetOutPath $INSTDIRFile /nonfatal brmr2002*.txtSectionEndSection "2002 HTML" SecData2002HtmlSectionIn 2 3SetOutPath $INSTDIRFile brmr2002*.htmlSectionEndSubSectionEndSubSectionEndSection "Full Source Code" SecCodeSectionIn 3SetOutPath $INSTDIRFile *.cFile *.hFile makefileFile *.basFile *.nsiSectionEndSection "Desktop Shortcuts" SecIconsSectionIn 1 2 3SetOutPath $INSTDIRCreateShortCut "$DESKTOP\Mara.lnk" "$INSTDIR\mara.exe" "brmr" "$INSTDIR\mara.ico"SectionEndSection "Start Menu Entry" SecStartMenuSectionIn 1 2 3!insertmacro MUI_STARTMENU_WRITE_BEGIN;Create shortcutsCreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Mara.lnk" "$INSTDIR\mara.exe" "brmr" "$INSTDIR\mara.ico"CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\UnInstall.lnk" "$INSTDIR\uninstall.exe"!insertmacro MUI_STARTMENU_WRITE_ENDSectionEndSection -post; Write the installation path into the registryWriteRegStr HKLM SOFTWARE\${DEVELOPER}\${NAME} "Install_Dir" "$INSTDIR"WriteRegStr HKLM SOFTWARE\${DEVELOPER}\${NAME} "Install_Version" "${VER_MAJOR}_${VER_MINOR}"; Write the uninstall keys for WindowsWriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayName" "Mara Program (remove only)"WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "UninstallString" '"$INSTDIR\uninstall.exe"'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayIcon" '"$INSTDIR\mara.ico"'; Write the uninstallerWriteUninstaller "uninstall.exe"SectionEnd;--------------------------------;Descriptions!ifndef CLASSIC_UI!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core files required to use Mara"!insertmacro MUI_DESCRIPTION_TEXT ${SecData} "Data from past events"!insertmacro MUI_DESCRIPTION_TEXT ${SecData2001Base} "Basic data files from 2001"!insertmacro MUI_DESCRIPTION_TEXT ${SecData2002} "Data and Reports for 2002"!insertmacro MUI_DESCRIPTION_TEXT ${SecData2002Base} "Basic data files from 2002"!insertmacro MUI_DESCRIPTION_TEXT ${SecData2002Text} "Text reports from 2002"!insertmacro MUI_DESCRIPTION_TEXT ${SecData2002Html} "HTML reports from 2002"!insertmacro MUI_DESCRIPTION_TEXT ${SecCode} "Source Code for the Mara Program"!insertmacro MUI_DESCRIPTION_TEXT ${SecIcons} "Desktop Shortcut"!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} "Start Menu Entry"!insertmacro MUI_FUNCTIONS_DESCRIPTION_END!endif;--------------------------------;Uninstaller SectionSection Uninstall; Delete the entire directoryRMDir /r $INSTDIR; Delete the desktop shortcutDelete "$DESKTOP\Mara.lnk"; Delete the StartMenu entryReadRegStr $R0 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"StrCmp $R0 "" noshortcutsDelete "$SMPROGRAMS\$R0\Mara.lnk"Delete "$SMPROGRAMS\$R0\uninstall.lnk"RMDir "$SMPROGRAMS\$R0" ;Only if empty, so it won't delete other shortcutsnoshortcuts:; Delete the registery dataDeleteRegKey HKLM SOFTWARE\${DEVELOPER}\${NAME}DeleteRegKey /ifempty HKLM SOFTWARE\${DEVELOPER}!ifndef CLASSIC_UI;Modern UI Finish Header!insertmacro MUI_UNFINISHHEADER!endifSectionEnd