initial ET:L NSIS installer script

This commit is contained in:
Radegast 2012-07-31 14:16:50 +02:00
parent c366cfc19a
commit 4919c392e0

143
etl.nsis Normal file
View file

@ -0,0 +1,143 @@
####################################################
# Wolfenstein Enemy Territory - Legacy Project #
# #
# Windows Installer Script for NSIS MUI #
####################################################
;Include Modern UI
!include "MUI2.nsh"
;--------------------------------------------------------------
;Reusable variables
;--------------------------------------------------------------
!define APPNAME "Wolfenstein Enemy Territory - Legacy"
!define COMPANYNAME "ET:L Dev Team"
!define DESCRIPTION "ET:L is a project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory."
;Version (only integers)
!define VERSIONMAJOR 2
!define VERSIONMINOR 6
!define VERSIONBUILD 9
;--------------------------------------------------------------
;General configuration
;--------------------------------------------------------------
;Name of the installer and file
Name "Wolfenstein: Enemy Territory - Legacy"
OutFile "etlegacy-installer.exe"
;Default installation folder
InstallDir "$PROGRAMFILES\${APPNAME}"
;Get installation folder from registry if available
InstallDirRegKey HKCU "Software\${APPNAME}" ""
;Request application privileges on NT6+ (When UAC is turned on)
RequestExecutionLevel admin
;--------------------------------------------------------------
;Interface Settings
;--------------------------------------------------------------
!define MUI_ABORTWARNING
;--------------------------------------------------------------
;Pages
;--------------------------------------------------------------
!insertmacro MUI_PAGE_LICENSE "COPYING.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"
;--------------------------------------------------------------
;Installer Sections
;--------------------------------------------------------------
Section "ET:L binaries" SecProgram
;Files added here should be removed by the uninstaller (see section "uninstall")
SetOutPath "$INSTDIR"
file "etl.exe"
file "etlded.exe"
file "wolfet.ico"
;Required libraries
file "README-SDL.txt"
file "SDL.dll"
file "libcurl.dll"
file "libfreetype-6.dll"
file "libjpeg-8.dll"
setOutPath "$INSTDIR\etmain"
file qagame_mp_x86.dll
file cgame_mp_x86.dll
file ui_mp_x86.dll
;Store installation folder
WriteRegStr HKCU "Software\${APPNAME}" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
Section "Download game data (pk3 files)" SecPaks
;TODO
SectionEnd
;--------------------------------------------------------------
;Descriptions
;--------------------------------------------------------------
;Language strings
LangString DESC_SecProgram ${LANG_ENGLISH} "Client and server binaries and mod libraries."
LangString DESC_SecPaks ${LANG_ENGLISH} "Download datafiles required to play (pak0.pk3, pak1.pk3, pak2.pk3 and mp_bin.pk3). ET:L will not run without them!"
;Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecProgram} $(DESC_SecProgram)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPaks} $(DESC_SecPaks)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------------------------------------
;Uninstaller Section
;--------------------------------------------------------------
Section "Uninstall"
Delete $INSTDIR\Uninstall.exe
Delete $INSTDIR\etl.exe
Delete $INSTDIR\etlded.exe
Delete $INSTDIR\wolfet.ico
Delete $INSTDIR\README-SDL.txt
Delete $INSTDIR\SDL.dll
Delete $INSTDIR\libcurl.dll
Delete $INSTDIR\libfreetype-6.dll
Delete $INSTDIR\libjpeg-8.dll
Delete $INSTDIR\etmain\qagame_mp_x86.dll
Delete $INSTDIR\etmain\cgame_mp_x86.dll
Delete $INSTDIR\etmain\ui_mp_x86.dll
RMDir $INSTDIR\etmain
RMDir $INSTDIR
DeleteRegKey /ifempty HKCU "Software\${APPNAME}"
SectionEnd