mirror of https://github.com/PCSX2/pcsx2.git
62 lines
2.5 KiB
Plaintext
62 lines
2.5 KiB
Plaintext
|
|
; --- UAC NIGHTMARES ---
|
|
; Ideally this would default to 'current' for user-level installs and 'all' for admin-level installs.
|
|
; There are problems to be aware of, however!
|
|
;
|
|
; * If the user is an admin, Windows Vista/7 will DEFAULT to an "all" shell context (installing shortcuts
|
|
; for all users), even if we don't want it to (which causes the uninstaller to fail!)
|
|
; * If the user is not an admin, setting Shell Context to all will cause the installer to fail because the
|
|
; user won't have permission enough to install it at all (sigh).
|
|
|
|
; (note! the SetShellVarContext use in the uninstaller section must match this one!)
|
|
|
|
;SetShellVarContext all
|
|
;SetShellVarContext current
|
|
|
|
Function RedistInstallation
|
|
!include WinVer.nsh
|
|
|
|
; Check if the VC runtimes are installed
|
|
ReadRegDword $R5 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
|
|
|
${If} $R5 == "1"
|
|
Goto DxSetup
|
|
${EndIf}
|
|
|
|
; Download and install the VC redistributable from the internet
|
|
inetc::get /CONNECTTIMEOUT 30 /RECEIVETIMEOUT 30 "https://aka.ms/vs/16/release/VC_redist.x86.exe" "$TEMP\VC_redist.x86.exe" /END
|
|
ExecShellWait open "$TEMP\VC_redist.x86.exe" "/INSTALL /Q /NORESTART"
|
|
Delete "$TEMP\VC_redist.x86.exe"
|
|
|
|
DxSetup:
|
|
${If} ${AtLeastWin8.1}
|
|
Return
|
|
${EndIf}
|
|
|
|
; Download and install DirectX (only applies to OSes older than 8.1)
|
|
inetc::get /CONNECTTIMEOUT 30 /RECEIVETIMEOUT 30 "https://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe" "$TEMP/dxwebsetup.exe" /END
|
|
ExecShellWait open "$TEMP\dxwebsetup.exe" "/Q"
|
|
Delete "$TEMP\dxwebsetup.exe"
|
|
FunctionEnd
|
|
|
|
Section "" SEC_REDIST
|
|
Call RedistInstallation
|
|
SectionEnd
|
|
|
|
; Copy unpacked files from TEMP to the user specified directory
|
|
Section "!${APP_NAME} (required)" SEC_CORE
|
|
SectionIn RO
|
|
CopyFiles /SILENT "$TEMP\PCSX2 ${APP_VERSION}\*" "$INSTDIR\" 24000
|
|
SectionEnd
|
|
|
|
!include "SharedShortcuts.nsh"
|
|
|
|
LangString DESC_CORE ${LANG_ENGLISH} "Core components (binaries, plugins, documentation, 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)."
|
|
|
|
!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)
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END |