47 lines
1.7 KiB
NSIS
47 lines
1.7 KiB
NSIS
;Inspired by:
|
|
; https://gist.github.com/bogdibota/062919938e1ed388b3db5ea31f52955c
|
|
; https://stackoverflow.com/questions/34177547/detect-if-visual-c-redistributable-for-visual-studio-2013-is-installed
|
|
; https://stackoverflow.com/a/54391388
|
|
; https://github.com/GitCommons/cpp-redist-nsis/blob/main/installer.nsh
|
|
|
|
;Find latests downloads here:
|
|
; https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
|
|
|
|
!include LogicLib.nsh
|
|
|
|
; https://github.com/electron-userland/electron-builder/issues/1122
|
|
!ifndef BUILD_UNINSTALLER
|
|
Function checkVCRedist
|
|
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
|
|
FunctionEnd
|
|
!endif
|
|
|
|
!macro customInit
|
|
Push $0
|
|
Call checkVCRedist
|
|
${If} $0 != "1"
|
|
MessageBox MB_YESNO "\
|
|
NOTE: ${PRODUCT_NAME} requires $\r$\n\
|
|
'Microsoft Visual C++ Redistributable'$\r$\n\
|
|
to function properly.$\r$\n$\r$\n\
|
|
Download and install now?" /SD IDYES IDYES InstallVCRedist IDNO DontInstall
|
|
InstallVCRedist:
|
|
inetc::get /CAPTION " " /BANNER "Downloading Microsoft Visual C++ Redistributable..." "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$TEMP\vc_redist.x64.exe"
|
|
ExecWait "$TEMP\vc_redist.x64.exe /install /norestart"
|
|
;IfErrors InstallError ContinueInstall ; vc_redist exit code is unreliable :(
|
|
Call checkVCRedist
|
|
${If} $0 == "1"
|
|
Goto ContinueInstall
|
|
${EndIf}
|
|
|
|
;InstallError:
|
|
MessageBox MB_ICONSTOP "\
|
|
There was an unexpected error installing$\r$\n\
|
|
Microsoft Visual C++ Redistributable.$\r$\n\
|
|
The installation of ${PRODUCT_NAME} cannot continue."
|
|
DontInstall:
|
|
Abort
|
|
${EndIf}
|
|
ContinueInstall:
|
|
Pop $0
|
|
!macroend |