chore: Обновлен скрипт установки.
This commit is contained in:
26
install.ps1
26
install.ps1
@@ -5,6 +5,8 @@
|
|||||||
# Использование:
|
# Использование:
|
||||||
# iwr https://git.dokops.ru/dokril/vpn-proxy/raw/branch/master/install.ps1 | iex
|
# iwr https://git.dokops.ru/dokril/vpn-proxy/raw/branch/master/install.ps1 | iex
|
||||||
|
|
||||||
|
# Исправляем кодировку (кириллицу)
|
||||||
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
# --- 1. Проверка прав администратора ---
|
# --- 1. Проверка прав администратора ---
|
||||||
@@ -34,6 +36,9 @@ $TempZip = "$env:TEMP\vpn-proxy-install.zip"
|
|||||||
Write-Host "🚀 Начинаем установку VPN Proxy..." -ForegroundColor Green
|
Write-Host "🚀 Начинаем установку VPN Proxy..." -ForegroundColor Green
|
||||||
Write-Host "📂 Путь установки: $InstallDir" -ForegroundColor Gray
|
Write-Host "📂 Путь установки: $InstallDir" -ForegroundColor Gray
|
||||||
|
|
||||||
|
# Переходим во временную папку, чтобы не блокировать удаление, если мы уже в C:\Tools\vpn-proxy
|
||||||
|
Set-Location $env:TEMP
|
||||||
|
|
||||||
# --- 3. Подготовка папки ---
|
# --- 3. Подготовка папки ---
|
||||||
if (-not (Test-Path $InstallRoot)) {
|
if (-not (Test-Path $InstallRoot)) {
|
||||||
New-Item -ItemType Directory -Path $InstallRoot -Force | Out-Null
|
New-Item -ItemType Directory -Path $InstallRoot -Force | Out-Null
|
||||||
@@ -52,10 +57,25 @@ catch {
|
|||||||
# --- 5. Распаковка ---
|
# --- 5. Распаковка ---
|
||||||
Write-Host "📦 Распаковка..." -ForegroundColor Cyan
|
Write-Host "📦 Распаковка..." -ForegroundColor Cyan
|
||||||
|
|
||||||
# Если папка уже есть, удаляем старую (делаем бэкап конфигов если нужно, но пока просто clean install)
|
# Если папка уже есть, удаляем старую
|
||||||
if (Test-Path $InstallDir) {
|
if (Test-Path $InstallDir) {
|
||||||
# Можно добавить логику сохранения client.json, если нужно
|
try {
|
||||||
Remove-Item $InstallDir -Recurse -Force
|
Remove-Item $InstallDir -Recurse -Force -ErrorAction Stop
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Warning "⚠️ Не удалось удалить старую папку $InstallDir"
|
||||||
|
Write-Warning " Ошибка: $($_.Exception.Message)"
|
||||||
|
Write-Warning " Убедитесь, что файлы не открыты в других программах и вы не находитесь в этой папке."
|
||||||
|
|
||||||
|
$retry = Read-Host " Нажмите Enter чтобы попробовать снова (или Ctrl+C для отмены)"
|
||||||
|
try {
|
||||||
|
Remove-Item $InstallDir -Recurse -Force -ErrorAction Stop
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error "❌ Так и не удалось удалить папку. Установка прервана."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Expand-Archive -Path $TempZip -DestinationPath $InstallRoot -Force
|
Expand-Archive -Path $TempZip -DestinationPath $InstallRoot -Force
|
||||||
|
|||||||
Reference in New Issue
Block a user