@echo off :: win7.cmd :: Version: 1.1.0 :: Date: 2026-04-17 :: Description: GPER Win7 — TLS 1.2 + .NET 4.8 + PowerShell 5.1 :: :: Запуск: от имени администратора, двойным кликом или из cmd. :: Скачивает и запускает win7.ps1, который сам управляет перезагрузками. chcp 65001 >nul 2>&1 :: --- Очистка предыдущей установки --- if exist "%APPDATA%\gper.ru" ( echo [*] Removing previous install dir: %APPDATA%\gper.ru rmdir /s /q "%APPDATA%\gper.ru" ) echo. echo ============================================================ echo GPER Win7 Prepare v1.1.0 echo Installs: .NET 4.8 + PowerShell 5.1 echo Source: http://fps.gper.ru/win7/win7.ps1 echo ============================================================ echo. :: --- Проверка прав администратора --- net session >nul 2>&1 if errorlevel 1 ( echo [!] ERROR: Run this file AS ADMINISTRATOR. echo. pause exit /b 1 ) :: --- Step 0: TLS 1.2 в реестре (идемпотентно, вступает в силу после перезагрузки) --- :: Применяем заранее, чтобы после первой перезагрузки HTTPS уже работал echo [0/3] Applying TLS 1.2 registry keys... reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 2560 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 2560 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" /v SchUseStrongCrypto /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" /v SchUseStrongCrypto /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f >nul 2>&1 echo [OK] TLS 1.2: applied. :: --- Step 1: Скачать win7.ps1 через HTTP (работает без SHA-2 патча) --- :: PS_URL — HTTP (fps.gper.ru), работает без патчей SHA-2 / TLS set "PS_URL=http://fps.gper.ru/win7/win7.ps1" set "PS_TMP=%TEMP%\gper-w7-tmp.ps1" set "GPER_DIR=%APPDATA%\gper.ru\install" set "PS_FILE=%GPER_DIR%\win7.ps1" if not exist "%GPER_DIR%" mkdir "%GPER_DIR%" echo [1/3] Downloading win7.ps1... powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "(New-Object Net.WebClient).DownloadFile('%PS_URL%', '%PS_TMP%')" if errorlevel 1 ( echo. echo [!] Download failed. Check connection to http://fps.gper.ru/win7/win7.ps1 echo. pause exit /b 1 ) :: --- Step 2: Гарантируем UTF-8 BOM (PS2 требует BOM для кириллицы) --- echo [2/3] Ensuring UTF-8 BOM... powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$b=[System.IO.File]::ReadAllBytes('%PS_TMP%'); if(-not($b.Count -ge 3 -and $b[0] -eq 0xEF -and $b[1] -eq 0xBB -and $b[2] -eq 0xBF)){$b=[byte[]](0xEF,0xBB,0xBF)+$b}; [System.IO.File]::WriteAllBytes('%PS_FILE%',$b)" if errorlevel 1 ( echo [!] Failed to save script file. pause exit /b 1 ) del "%PS_TMP%" >nul 2>&1 :: --- Step 3: Запуск (win7.ps1 сам управляет перезагрузками через Task Scheduler) --- echo [3/3] Running win7.ps1... echo. :: Сбрасываем codepage на дефолтную — chcp 65001 ломает консольный буфер в PS3+ (0x1F Write-Host) chcp 437 >nul 2>&1 powershell.exe -NoProfile -ExecutionPolicy Bypass -File "%PS_FILE%" set "EXIT_CODE=%errorlevel%" if %EXIT_CODE% neq 0 ( echo. echo [!] Script finished with error code: %EXIT_CODE% ) echo. pause