github installer . bat will now use three different downloading methods if the powershell one fails
This commit is contained in:
@@ -17,6 +17,8 @@ set "SCRIPT_DIR=%~dp0"
|
|||||||
set "EXTRACT_DIR=%SCRIPT_DIR%gitportable"
|
set "EXTRACT_DIR=%SCRIPT_DIR%gitportable"
|
||||||
set "LOG_FILE=%SCRIPT_DIR%git_setup.log"
|
set "LOG_FILE=%SCRIPT_DIR%git_setup.log"
|
||||||
|
|
||||||
|
echo Downloading Git, please wait... It may take a while.
|
||||||
|
|
||||||
:: Redirect output to log
|
:: Redirect output to log
|
||||||
call :main >> "%LOG_FILE%" 2>&1
|
call :main >> "%LOG_FILE%" 2>&1
|
||||||
goto :end
|
goto :end
|
||||||
@@ -49,9 +51,9 @@ if exist "%EXTRACT_DIR%\" (
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Download Git
|
:: Download Git using available method
|
||||||
echo Downloading Git...
|
echo Downloading Git...
|
||||||
powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%GIT_URL%' -OutFile '%SCRIPT_DIR%%GIT_ARCHIVE%'"
|
call :download "%GIT_URL%" "%SCRIPT_DIR%%GIT_ARCHIVE%"
|
||||||
if %errorlevel% neq 0 (
|
if %errorlevel% neq 0 (
|
||||||
echo Error: Download failed.
|
echo Error: Download failed.
|
||||||
goto :done
|
goto :done
|
||||||
@@ -97,6 +99,33 @@ echo ====================================================
|
|||||||
:done
|
:done
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
|
:download
|
||||||
|
:: Args: %1 - URL, %2 - Output file
|
||||||
|
|
||||||
|
:: Try PowerShell
|
||||||
|
where powershell >nul 2>nul
|
||||||
|
if %errorlevel%==0 (
|
||||||
|
powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%~1' -OutFile '%~2'"
|
||||||
|
if %errorlevel%==0 exit /b 0
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Try curl
|
||||||
|
where curl >nul 2>nul
|
||||||
|
if %errorlevel%==0 (
|
||||||
|
curl -L -o "%~2" "%~1"
|
||||||
|
if %errorlevel%==0 exit /b 0
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Try bitsadmin
|
||||||
|
where bitsadmin >nul 2>nul
|
||||||
|
if %errorlevel%==0 (
|
||||||
|
bitsadmin /transfer downloadjob /download /priority normal "%~1" "%~2"
|
||||||
|
if %errorlevel%==0 exit /b 0
|
||||||
|
)
|
||||||
|
|
||||||
|
echo Error: No supported downloader (certutil, PowerShell, curl, bitsadmin) found.
|
||||||
|
exit /b 1
|
||||||
|
|
||||||
:end
|
:end
|
||||||
echo.
|
echo.
|
||||||
echo Log saved to: %LOG_FILE%
|
echo Log saved to: %LOG_FILE%
|
||||||
|
|||||||
Reference in New Issue
Block a user