-;NSIS Modern User Interface
-;Start Menu Folder Selection Example Script
-;Written by Joost Verburg
-
-;--------------------------------
-;Include Modern UI
-
- !include "MUI2.nsh"
-
-;--------------------------------
-;General
-
- ;Name and file
- Name "Yoink"
- OutFile "../yoinksetup-@VERSION@.exe"
- SetCompressor /SOLID lzma
-
- ;Default installation folder
- InstallDir "$PROGRAMFILES\Yoink"
-
- ;Get installation folder from registry if available
- InstallDirRegKey HKCU "Software\Yoink" ""
-
- ;Request application privileges for Windows Vista
- RequestExecutionLevel user
-
-;--------------------------------
-;Interface Settings
-
- !define MUI_ICON "../src/setup.ico"
- !define MUI_UNICON "../src/uninstall.ico"
-
- !define MUI_COMPONENTSPAGE_SMALLDESC
-
- !define MUI_FINISHPAGE_RUN "$INSTDIR\yoink.exe"
- !define MUI_FINISHPAGE_RUN_NOTCHECKED
- !define MUI_FINISHPAGE_LINK "Visit the Yoink website"
- !define MUI_FINISHPAGE_LINK_LOCATION "http://www.dogcows.com/"
-
- !define MUI_ABORTWARNING
-
-;--------------------------------
-;Pages
-
- !insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_COMPONENTS
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_INSTFILES
- !insertmacro MUI_PAGE_FINISH
-
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
-
-;--------------------------------
-;Languages
-
- !insertmacro MUI_LANGUAGE "English"
-
-;--------------------------------
-;Installer Sections
-
-Section "Install Yoink!" SecInstallYoink
-
- SetOutPath "$INSTDIR"
-
- ;ADD YOUR OWN FILES HERE...
- File /r "build/*"
-
- ;Store installation folder
- WriteRegStr HKCU "Software\Yoink" "" $INSTDIR
-
- ;Create uninstaller
- WriteUninstaller "uninstall.exe"
-
- ;Create shortcuts
- CreateDirectory "$SMPROGRAMS\Yoink"
- CreateShortCut "$SMPROGRAMS\Yoink\Play Yoink!.lnk" "$INSTDIR\yoink.exe"
- CreateShortCut "$SMPROGRAMS\Yoink\Uninstall.lnk" "$INSTDIR\uninstall.exe"
-
- WriteRegStr HKCU "Software\Games\Yoink" "" "$INSTDIR"
- WriteRegStr HKCU "Software\Games\Yoink" "Version" "@VERSION@"
- WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\Yoink" "DisplayName" "Yoink"
- WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\Yoink" "DisplayVersion" "@VERSION@"
- WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\Yoink" "UninstallString" "$INSTDIR\uninstall.exe"
-
-SectionEnd
-
-Section "Install desktop shortcut." SecInstallShortcut
-
- ;Desktop shortcut
- SetOverwrite on
- CreateShortCut "$DESKTOP\Yoink.lnk" "$INSTDIR\yoink.exe"
- SetOverwrite off
-
-SectionEnd
-
-;--------------------------------
-;Descriptions
-
- ;Language strings
- LangString DESC_SecInstallYoink ${LANG_ENGLISH} "Install the game executable and data files."
- LangString DESC_SecInstallShortcut ${LANG_ENGLISH} "Install a shortcut to the executable on the desktop."
-
- ;Assign language strings to sections
- !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallYoink} $(DESC_SecInstallYoink)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallShortcut} $(DESC_SecInstallShortcut)
- !insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-;--------------------------------
-;Uninstaller
-
-Section "Uninstall"
-
- Delete "$SMPROGRAMS\Yoink\*.*"
- RMDir "$SMPROGRAMS\Yoink"
- Delete "$DESKTOP\Yoink.lnk"
-
- DeleteRegKey /ifempty HKCU "Software\Games\Yoink"
- DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\Yoink"
-
- RMDir /r "$INSTDIR"
-
-SectionEnd
-
-;--------------------------------
-;Functions
-
-Function .onInit
-
-;Run the uninstaller if Yoink is already installed.
- ReadRegStr $R0 HKCU \
- "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Yoink" \
- "UninstallString"
- StrCmp $R0 "" done
-
- MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
- "Yoink is already installed. $\n$\nClick `OK` to remove the \
- previous version or `Cancel` to cancel the installation." \
- IDOK uninst
- Abort
-
-;Run the uninstaller
-uninst:
- ClearErrors
- ExecWait $INSTDIR\uninstall.exe
-
-done:
-
-FunctionEnd
-