mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-14 16:40:48 +00:00
161 lines
4.3 KiB
Text
161 lines
4.3 KiB
Text
; NSIS description file for ioquake3 installer
|
|
;
|
|
; EDIT WITH CARE!
|
|
;
|
|
; This file is used to automatically build the installers in the
|
|
; openSUSE build service, don't break this!
|
|
;
|
|
; you have to copy SDL.dll and libcurl-4.dll here manually
|
|
|
|
!include "MUI2.nsh"
|
|
|
|
; The name of the installer
|
|
Name "ioquake3"
|
|
|
|
; The file to write
|
|
OutFile "ioquake3-XXXVERSIONXXX-XXXRELEASEXXX.x86.exe"
|
|
|
|
; The default installation directory
|
|
InstallDir $PROGRAMFILES\ioquake3
|
|
|
|
; Registry key to check for directory (so if you install again, it will
|
|
; overwrite the old one automatically)
|
|
InstallDirRegKey HKLM "Software\ioquake3" "Install_Dir"
|
|
|
|
;--------------------------------
|
|
;Interface Settings
|
|
|
|
!define MUI_ABORTWARNING
|
|
|
|
;--------------------------------
|
|
;Pages
|
|
|
|
#!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
;--------------------------------
|
|
;Languages
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
;--------------------------------
|
|
|
|
; The stuff to install
|
|
Section "ioquake3 (required)"
|
|
|
|
SectionIn RO
|
|
|
|
; Set output path to the installation directory.
|
|
SetOutPath $INSTDIR
|
|
|
|
; Put file there
|
|
File "../../build/release-mingw32-x86/ioq3ded.x86.exe"
|
|
File "../../build/release-mingw32-x86/ioquake3.x86.exe"
|
|
File "../../COPYING.txt"
|
|
File "../../README.txt"
|
|
File "../../id-readme.txt"
|
|
File "../../voip-readme.txt"
|
|
|
|
SetOutPath "$INSTDIR\baseq3"
|
|
File "../../build/release-mingw32-x86/baseq3/cgamex86.dll"
|
|
File "../../build/release-mingw32-x86/baseq3/qagamex86.dll"
|
|
File "../../build/release-mingw32-x86/baseq3/uix86.dll"
|
|
SetOutPath "$INSTDIR\missionpack"
|
|
File "../../build/release-mingw32-x86/missionpack/cgamex86.dll"
|
|
File "../../build/release-mingw32-x86/missionpack/qagamex86.dll"
|
|
File "../../build/release-mingw32-x86/missionpack/uix86.dll"
|
|
|
|
; Write the installation path into the registry
|
|
WriteRegStr HKLM SOFTWARE\ioquake3 "Install_Dir" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ioquake3" "DisplayName" "ioquake3"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ioquake3" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ioquake3" "NoModify" 1
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ioquake3" "NoRepair" 1
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
SectionEnd
|
|
|
|
; Optional section (can be disabled by the user)
|
|
Section "Start Menu Shortcuts"
|
|
|
|
CreateDirectory "$SMPROGRAMS\ioquake3"
|
|
CreateShortCut "$SMPROGRAMS\ioquake3\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\ioquake3\ioquake3.lnk" "$INSTDIR\ioquake3.x86.exe" "" "$INSTDIR\ioquake3.x86.exe" 0
|
|
|
|
SectionEnd
|
|
|
|
Section "SDL.dll"
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
File "SDL.dll"
|
|
|
|
SectionEnd
|
|
|
|
Section "libcurl"
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
File "libcurl-4.dll"
|
|
|
|
SectionEnd
|
|
|
|
Section "OpenAL-Soft library"
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
File "openal32.dll"
|
|
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
|
|
; Uninstaller
|
|
|
|
Section "Uninstall"
|
|
|
|
; Remove registry keys
|
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ioquake3"
|
|
DeleteRegKey HKLM SOFTWARE\ioquake3
|
|
|
|
; Remove files and uninstaller
|
|
Delete $INSTDIR\baseq3\cgamex86.dll
|
|
Delete $INSTDIR\baseq3\qagamex86.dll
|
|
Delete $INSTDIR\baseq3\uix86.dll
|
|
Delete $INSTDIR\missionpack\cgamex86.dll
|
|
Delete $INSTDIR\missionpack\qagamex86.dll
|
|
Delete $INSTDIR\missionpack\uix86.dll
|
|
Delete $INSTDIR\ioquake3.x86.exe
|
|
Delete $INSTDIR\ioq3ded.x86.exe
|
|
|
|
Delete $INSTDIR\COPYING.txt
|
|
Delete $INSTDIR\README.txt
|
|
Delete $INSTDIR\id-readme.txt
|
|
Delete $INSTDIR\voip-readme.txt
|
|
|
|
Delete $INSTDIR\SDL.dll
|
|
|
|
Delete $INSTDIR\libcurl-4.dll
|
|
|
|
Delete $INSTDIR\openal32.dll
|
|
|
|
Delete $INSTDIR\uninstall.exe
|
|
|
|
; Remove shortcuts, if any
|
|
Delete "$SMPROGRAMS\ioquake3\Uninstall.lnk"
|
|
Delete "$SMPROGRAMS\ioquake3\ioquake3.lnk"
|
|
|
|
; Remove directories used
|
|
RMDir "$SMPROGRAMS\ioquake3"
|
|
RMDir "$INSTDIR\baseq3"
|
|
RMDir "$INSTDIR\missionpack"
|
|
RMDir "$INSTDIR"
|
|
|
|
SectionEnd
|