fix : baking the redist into the installer breaks GPL, download at runtime instead

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
Rachel Powers
2024-09-28 14:58:13 -07:00
parent 00f4221a83
commit ed15a28eb3
4 changed files with 41 additions and 17 deletions

View File

@ -43,16 +43,21 @@ configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY)
configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
if(MSVC)
include(InstallRequiredSystemLibraries)
file(TO_NATIVE_PATH ${MSVC_REDIST_DIR} Native_MSVC_REDIST_DIR)
set(Launcher_MSVC_Redist_NSIS_Section "\
Section \"Visual Studio Runtime\"
SetOutPath \"$INSTDIR\\vc_redist\"
File \"${Native_MSVC_REDIST_DIR}\\vc_redist.x64.exe\"
ExecWait \"$INSTDIR\\vc_redist\\vc_redist.x64.exe /install /passive /norestart\"
; Delete \"$INSTDIR\\vc_redist\\vc_redist.x64.exe\"
SectionEnd\
")
set(Launcher_MSVC_Redist_NSIS_Section [=[
!ifdef haveNSIScurl
Section "Visual Studio Runtime"
DetailPrint 'Downloading Microsoft Visual C++ Redistributable...'
NScurl::http GET "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$INSTDIR\vc_redist\vc_redist.x64.exe" /INSIST /CANCEL /Zone.Identifier /END
Pop $0
${If} $0 == "OK"
DetailPrint "Download successful"
ExecWait "$INSTDIR\vc_redist\vc_redist.x64.exe /install /passive /norestart\"
${Else}
DetailPrint "Download failed with error $0"
${EndIf}
SectionEnd
!endif
]=])
endif()
configure_file(win_install.nsi.in win_install.nsi @ONLY)

View File

@ -112,6 +112,16 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "@Launcher_Copyright@"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "@Launcher_VERSION_NAME4@"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "@Launcher_VERSION_NAME4@"
;--------------------------------
; Conditional comp with file exist
!macro CompileTimeIfFileExist path define
!tempfile tmpinc
!system 'IF EXIST "${path}" echo !define ${define} > "${tmpinc}"'
!include "${tmpinc}"
!delfile "${tmpinc}"
!undef tmpinc
!macroend
;--------------------------------
; Shell Associate Macros
@ -336,6 +346,19 @@ Section "" UninstallPrevious
SectionEnd
;------------------------------------
; include nice plugins
; NSIScurl - curl in NSIS
; used for MSVS redist download
; extract to ../NSISPlugins/NSIScurl
; https://github.com/negrutiu/nsis-nscurl/releases/latest/download/NScurl.zip
!insertmacro CompileTimeIfFileExist "../NSISPlugins/NSIScurl/Plugins/" haveNSIScurl
!ifdef haveNSIScurl
!AddPluginDir /x86-unicode "../NSISPlugins/NSIScurl/Plugins/x86-unicode"
!AddPluginDir /x86-ansi "../NSISPlugins/NSIScurl/Plugins/x86-ansi"
!AddPluginDir /amd64-unicode "../NSISPlugins/NSIScurl/Plugins/amd64-unicode"
!endif
;------------------------------------