205 lines
6.3 KiB
NSIS
Executable File
205 lines
6.3 KiB
NSIS
Executable File
; This script is based on example2.nsi
|
|
|
|
;--------------------------------
|
|
|
|
; The name of the installer
|
|
Name "OpenArena"
|
|
|
|
; The installer icon
|
|
Icon "${NSISDIR}\Contrib\Graphics\Icons\modern-install-blue-full.ico"
|
|
|
|
; The uninstaller icon
|
|
UninstallIcon "${NSISDIR}\Contrib\Graphics\Icons\modern-install-blue-full.ico"
|
|
|
|
|
|
; The file to write
|
|
OutFile "OpenArena-0.1.2-alpha.exe"
|
|
|
|
; The default installation directory
|
|
InstallDir "$PROGRAMFILES\HHPS\OpenArena-0.1.2-alpha"
|
|
|
|
; Registry key to check for directory (so if you install again, it will
|
|
; overwrite the old one automatically)
|
|
InstallDirRegKey HKLM SOFTWARE\HHPS\OpenArena-0.1.2-alpha "Install_Dir"
|
|
|
|
; The text to prompt the user to enter a directory
|
|
ComponentText "This will install OpenArena on your computer. Select which options you want installed."
|
|
|
|
; The text to prompt the user to enter a directory
|
|
DirText "Choose a directory to install in to:"
|
|
|
|
;--------------------------------
|
|
|
|
; Main section docs and libs
|
|
Section - "Base (required)"
|
|
|
|
SectionIn RO
|
|
|
|
;Dynamic libraries
|
|
CreateDirectory $INSTDIR
|
|
SetOutPath $INSTDIR
|
|
File ".\OpenArena\bass.dll"
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
;Documentation
|
|
CreateDirectory "$INSTDIR\doc"
|
|
SetOutPath "$INSTDIR\doc"
|
|
File ".\doc\*.doc"
|
|
File ".\doc\*.html"
|
|
|
|
; Write the installation path into the registry
|
|
WriteRegStr HKLM SOFTWARE\HHPS\OpenArena-0.1.2-alpha "Install_Dir" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenArena v0.1.2-alpha" "DisplayName" "OpenArena v0.1.2-alpha (remove only)"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenArena v0.1.2-alpha" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
WriteUninstaller "uninstall.exe"
|
|
CreateDirectory "$SMPROGRAMS\HHPS\OpenArena"
|
|
SetOutPath $INSTDIR\OpenArena
|
|
CreateShortCut "$SMPROGRAMS\HHPS\OpenArena\Readme v0.1.2-alpha.lnk" "$INSTDIR\doc\OpenArena User's Manual.html"
|
|
|
|
SectionEnd
|
|
|
|
; Source Files required to create and compile a game using the OpenArena SDK
|
|
Section "SDK"
|
|
|
|
CreateDirectory "$INSTDIR\sources"
|
|
SetOutPath "$INSTDIR\sources"
|
|
File ".\*.txt"
|
|
File ".\*.nsi"
|
|
File ".\oa.*"
|
|
File ".*"
|
|
File "Makefile"
|
|
|
|
CreateDirectory "$INSTDIR\sources\lib"
|
|
SetOutPath "$INSTDIR\sources\lib"
|
|
File ".\lib\bass.lib"
|
|
|
|
CreateDirectory "$INSTDIR\sources\include"
|
|
SetOutPath "$INSTDIR\sources\include"
|
|
File ".\include\*.h"
|
|
|
|
CreateDirectory "$INSTDIR\sources\src"
|
|
SetOutPath "$INSTDIR\sources\src"
|
|
File ".\src\*.cpp"
|
|
File ".\Makefile"
|
|
|
|
CreateDirectory "$INSTDIR\sources\OpenArena"
|
|
SetOutPath "$INSTDIR\sources\OpenArena"
|
|
File ".\OpenArena\bass.dll"
|
|
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa"
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa\config"
|
|
SetOutPath "$INSTDIR\sources\OpenArena\oa\config"
|
|
File ".\OpenArena\oa\config\my.cfg"
|
|
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa\maps"
|
|
SetOutPath "$INSTDIR\sources\OpenArena\oa\maps"
|
|
File ".\OpenArena\oa\maps\intro.map"
|
|
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa\music\bgm"
|
|
;SetOutPath "$INSTDIR\sources\OpenArena\oa\music\bgm"
|
|
;File ".\OpenArena\oa\music\bgm\*.mp3"
|
|
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa\textures"
|
|
SetOutPath "$INSTDIR\sources\OpenArena\oa\textures"
|
|
File ".\OpenArena\oa\textures\*.bmp"
|
|
File ".\OpenArena\oa\textures\*.tga"
|
|
CreateDirectory "$INSTDIR\sources\OpenArena\oa\textures\menu"
|
|
SetOutPath "$INSTDIR\sources\OpenArena\oa\textures\menu"
|
|
File ".\OpenArena\oa\textures\menu\*.bmp"
|
|
File ".\OpenArena\oa\textures\menu\*.tga"
|
|
|
|
CreateDirectory "$INSTDIR\sources\ModelConverter"
|
|
SetOutPath "$INSTDIR\sources\ModelConverter"
|
|
File ".\ModelConverter\*.cs"
|
|
File ".\ModelConverter\*.ico"
|
|
File ".\ModelConverter\*.csproj"
|
|
File ".\ModelConverter\*.csproj.user"
|
|
|
|
CreateShortCut "$SMPROGRAMS\HHPS\OpenArena\OpenArena SDK v0.1.2-alpha.lnk" "$INSTDIR\sources\oa.sln"
|
|
|
|
SectionEnd
|
|
|
|
Section "Media"
|
|
|
|
CreateDirectory "$INSTDIR"
|
|
SetOutPath "$INSTDIR"
|
|
File ".\OpenArena\oa.exe"
|
|
|
|
CreateDirectory "$INSTDIR\oa"
|
|
CreateDirectory "$INSTDIR\oa\config"
|
|
SetOutPath "$INSTDIR\oa\config"
|
|
File ".\OpenArena\oa\config\my.cfg"
|
|
|
|
CreateDirectory "$INSTDIR\oa\maps"
|
|
SetOutPath $INSTDIR\oa\maps
|
|
File ".\OpenArena\oa\maps\intro.map"
|
|
File ".\OpenArena\oa\maps\oamap1.map"
|
|
|
|
CreateDirectory "$INSTDIR\oa\music"
|
|
CreateDirectory "$INSTDIR\oa\music\bgm"
|
|
SetOutPath $INSTDIR\oa\music\bgm
|
|
File ".\OpenArena\oa\music\bgm\*.mp3"
|
|
|
|
CreateDirectory "$INSTDIR\oa\textures"
|
|
SetOutPath $INSTDIR\oa\textures
|
|
File ".\OpenArena\oa\textures\*.tga"
|
|
File ".\OpenArena\oa\textures\*.bmp"
|
|
|
|
CreateDirectory "$INSTDIR\oa\textures\menu"
|
|
SetOutPath $INSTDIR\oa\textures\menu
|
|
File ".\OpenArena\oa\textures\menu\*.bmp"
|
|
File ".\OpenArena\oa\textures\menu\*.tga"
|
|
|
|
SetOutPath $INSTDIR
|
|
CreateShortCut "$SMPROGRAMS\HHPS\OpenArena\OpenArena v0.1.2-alpha.lnk" "$INSTDIR\oa.exe"
|
|
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
; Uninstaller
|
|
|
|
UninstallText "This will uninstall OpenArena. Hit next to continue."
|
|
; Uninstall section
|
|
|
|
Section "Uninstall"
|
|
|
|
; remove registry keys
|
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenArena v0.1.2-alpha"
|
|
DeleteRegKey HKLM SOFTWARE\HHPS\OpenArena-0.1.2-alpha
|
|
|
|
; remove files and uninstaller
|
|
Delete /REBOOTOK "$INSTDIR\oa"
|
|
Delete /REBOOTOK "$INSTDIR\sources"
|
|
Delete /REBOOTOK "$INSTDIR\doc"
|
|
Delete /REBOOTOK "$INSTDIR\*.exe"
|
|
Delete /REBOOTOK "$INSTDIR\*.dll"
|
|
|
|
;Delete /REBOOTOK $INSTDIR\lib\*
|
|
;Delete /REBOOTOK $INSTDIR\src\*.*
|
|
;Delete /REBOOTOK $INSTDIR\bass.dll
|
|
;Delete /REBOOTOK $INSTDIR\heading.txt
|
|
;Delete /REBOOTOK $INSTDIR\license.txt
|
|
;Delete /REBOOTOK $INSTDIR\oa.ncb
|
|
;Delete /REBOOTOK $INSTDIR\oa.sln
|
|
;Delete /REBOOTOK $INSTDIR\oa.sou
|
|
;Delete /REBOOTOK $INSTDIR\oa.vcproj
|
|
;Delete /REBOOTOK "$INSTDIR\OpenArena User's Manual.doc"
|
|
;Delete /REBOOTOK "$INSTDIR\OpenArena User's Manual.html"
|
|
|
|
Delete /REBOOTOK $INSTDIR\uninstall.exe
|
|
|
|
; remove shortcuts, if any
|
|
Delete /REBOOTOK "$SMPROGRAMS\HHPS\OpenArena\Readme v0.1.2-alpha.lnk"
|
|
Delete /REBOOTOK "$SMPROGRAMS\HHPS\OpenArena\OpenArena SDK v0.1.2-alpha.lnk"
|
|
Delete /REBOOTOK "$SMPROGRAMS\HHPS\OpenArena\OpenArena v0.1.2-alpha.lnk"
|
|
|
|
; remove directories used
|
|
RMDIR /r $INSTDIR\include
|
|
RMDIR /r $INSTDIR\lib
|
|
RMDIR /r $INSTDIR\OpenArena
|
|
RMDIR /r $INSTDIR\src
|
|
RMDIR /r "$INSTDIR"
|
|
|
|
SectionEnd |