mirror of https://github.com/PCSX2/pcsx2.git
215 lines
7.3 KiB
Plaintext
215 lines
7.3 KiB
Plaintext
|
|
; PCSX2 Full/Complete Install Package!
|
|
; (a NSIS installer script)
|
|
;
|
|
; Copyright 2009-2015 PCSX2 Dev Team
|
|
;
|
|
|
|
!ifndef INC_CRT_2013
|
|
; Set to 0 to disable inclusion of Visual Studio 2013 SP1 CRT Redists
|
|
!define INC_CRT_2013 1
|
|
!endif
|
|
|
|
!ifndef INC_CRT_2015
|
|
; Set to 0 to disable inclusion of Visual Studio 2013 SP1 CRT Redists
|
|
!define INC_CRT_2015 1
|
|
!endif
|
|
|
|
ShowInstDetails nevershow
|
|
ShowUninstDetails nevershow
|
|
|
|
!define OUTFILE_POSTFIX "setup"
|
|
!include "SharedBase.nsh"
|
|
!include "x64.nsh"
|
|
|
|
; Reserve features for improved performance with solid archiving.
|
|
; (uncomment if we add our own install options ini files)
|
|
;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
|
;!insertmacro MUI_RESERVEFILE_LANGDLL
|
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_COMPONENTS
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
!include "ApplyExeProps.nsh"
|
|
!include "SharedRedtape.nsh"
|
|
|
|
; =======================================================================
|
|
; Installer Sections
|
|
; =======================================================================
|
|
|
|
; -----------------------------------------------------------------------
|
|
; Basic section (emulation proper)
|
|
Section "!${APP_NAME} (required)" SEC_CORE
|
|
|
|
SectionIn RO
|
|
|
|
!include "SectionCoreReqs.nsh"
|
|
|
|
; ------------------------------------------
|
|
; -- Plugins Section --
|
|
; ------------------------------------------
|
|
|
|
!if ${INC_PLUGINS} > 0
|
|
|
|
SetOutPath "$INSTDIR\Plugins"
|
|
!insertmacro UNINSTALL.LOG_OPEN_INSTALL
|
|
|
|
File /nonfatal /oname=gsdx32-sse2.dll ..\bin\Plugins\gsdx32-sse2.dll
|
|
File /nonfatal /oname=gsdx32-ssse3.dll ..\bin\Plugins\gsdx32-ssse3.dll
|
|
File /nonfatal /oname=gsdx32-sse4.dll ..\bin\Plugins\gsdx32-sse4.dll
|
|
File /nonfatal /oname=gsdx32-avx.dll ..\bin\Plugins\gsdx32-avx.dll
|
|
File /nonfatal /oname=gsdx32-avx2.dll ..\bin\Plugins\gsdx32-avx2.dll
|
|
File /nonfatal /oname=zerogs.dll ..\bin\Plugins\zerogs.dll
|
|
|
|
File /nonfatal /oname=spu2-x.dll ..\bin\Plugins\spu2-x.dll
|
|
File /nonfatal /oname=zerospu2.dll ..\bin\Plugins\zerospu2.dll
|
|
|
|
File /nonfatal /oname=cdvdiso.dll ..\bin\Plugins\cdvdiso.dll
|
|
File ..\bin\Plugins\cdvdGigaherz.dll
|
|
|
|
File /nonfatal /oname=lilypad.dll ..\bin\Plugins\lilypad.dll
|
|
File /nonfatal ..\bin\Plugins\padPokopom.dll
|
|
|
|
!insertmacro UNINSTALL.LOG_CLOSE_INSTALL
|
|
|
|
!endif
|
|
|
|
SectionEnd
|
|
|
|
!include "SectionShortcuts.nsh"
|
|
|
|
!if ${INC_CRT_2013} > 0
|
|
Section "Microsoft Visual C++ 2013 Redist" SEC_CRT2013
|
|
|
|
;SectionIn RO
|
|
|
|
; Detection made easy: Unlike previous redists, VC2013 now generates a platform
|
|
; independent key for checking availability.
|
|
; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\VC\Runtimes\x86 for x64 Windows
|
|
; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0\VC\Runtimes\x86 for x86 Windows
|
|
|
|
; Downloaded from:
|
|
; http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe
|
|
|
|
ClearErrors
|
|
|
|
${If} ${RunningX64}
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\VC\Runtimes\x86" "Installed"
|
|
${Else}
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\12.0\VC\Runtimes\x86" "Installed"
|
|
${EndIf}
|
|
|
|
IfErrors 0 +2
|
|
DetailPrint "Visual C++ 2013 Redistributable registry key was not found; assumed to be uninstalled."
|
|
StrCmp $R0 "1" 0 +3
|
|
DetailPrint "Visual C++ 2013 Redistributable is already installed; skipping!"
|
|
Goto done
|
|
|
|
SetOutPath "$TEMP"
|
|
File "vcredist_2013_x86.exe"
|
|
DetailPrint "Running Visual C++ 2013 Redistributable Setup..."
|
|
ExecWait '"$TEMP\vcredist_2013_x86.exe" /qb'
|
|
DetailPrint "Finished Visual C++ 2013 Redistributable Setup"
|
|
|
|
Delete "$TEMP\vcredist_2013_x86.exe"
|
|
|
|
done:
|
|
SectionEnd
|
|
!endif
|
|
|
|
!if ${INC_CRT_2015} > 0
|
|
Section "Microsoft Visual C++ 2015 Redist" SEC_CRT2015
|
|
|
|
;SectionIn RO
|
|
|
|
; Detection made easy: Unlike previous redists, VC2015 now generates a platform
|
|
; independent key for checking availability.
|
|
; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86 for x64 Windows
|
|
; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86 for x86 Windows
|
|
|
|
; Downloaded from:
|
|
; https://www.microsoft.com/en-us/download/details.aspx?id=49984
|
|
|
|
ClearErrors
|
|
|
|
${If} ${RunningX64}
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
|
${Else}
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
|
${EndIf}
|
|
|
|
IfErrors 0 +2
|
|
DetailPrint "Visual C++ 2015 Redistributable registry key was not found; assumed to be uninstalled."
|
|
StrCmp $R0 "1" 0 +3
|
|
DetailPrint "Visual C++ 2015 Redistributable is already installed; skipping!"
|
|
Goto done
|
|
|
|
SetOutPath "$TEMP"
|
|
File "vcredist_2015_Update_1_x86.exe"
|
|
DetailPrint "Running Visual C++ 2015 Redistributable Setup..."
|
|
ExecWait '"$TEMP\vcredist_2015_Update_1_x86.exe" /qb'
|
|
DetailPrint "Finished Visual C++ 2015 Redistributable Setup"
|
|
|
|
Delete "$TEMP\vcredist_2015_Update_1_x86.exe"
|
|
|
|
done:
|
|
SectionEnd
|
|
!endif
|
|
|
|
; -----------------------------------------------------------------------
|
|
; This section needs to be last, so that in case it fails, the rest of the program will
|
|
; be installed cleanly.
|
|
;
|
|
; This section could be optional, but why not? It's pretty painless to double-check that
|
|
; all the libraries are up-to-date.
|
|
;
|
|
Section "DirectX Web Setup" SEC_DIRECTX
|
|
|
|
;SectionIn RO
|
|
|
|
SetOutPath "$TEMP"
|
|
File "dxwebsetup.exe"
|
|
DetailPrint "Running DirectX Web Setup..."
|
|
ExecWait '"$TEMP\dxwebsetup.exe" /Q' $DirectXSetupError
|
|
DetailPrint "Finished DirectX Web Setup"
|
|
|
|
Delete "$TEMP\dxwebsetup.exe"
|
|
|
|
SectionEnd
|
|
|
|
!include "SectionUninstaller.nsh"
|
|
|
|
LangString DESC_CORE ${LANG_ENGLISH} "Core components (binaries, plugins, languages, etc)."
|
|
|
|
LangString DESC_STARTMENU ${LANG_ENGLISH} "Adds shortcuts for PCSX2 to the start menu (all users)."
|
|
LangString DESC_DESKTOP ${LANG_ENGLISH} "Adds a shortcut for PCSX2 to the desktop (all users)."
|
|
|
|
LangString DESC_CRT2008 ${LANG_ENGLISH} "Required by the PCSX2 binaries packaged in this installer."
|
|
LangString DESC_CRT2010 ${LANG_ENGLISH} "Required by the PCSX2 binaries packaged in this installer."
|
|
LangString DESC_CRT2013 ${LANG_ENGLISH} "Required by the PCSX2 binaries packaged in this installer."
|
|
LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite certain your Direct3D runtimes are up to date."
|
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CORE} $(DESC_CORE)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU} $(DESC_STARTMENU)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP)
|
|
|
|
!if ${INC_CRT_2013} > 0
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2013} $(DESC_CRT2013)
|
|
!endif
|
|
|
|
!if ${INC_CRT_2015} > 0
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2015} $(DESC_CRT2015)
|
|
!endif
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_DIRECTX)
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
|