Initial commit: CloudRestoreAS v1.0.0 - Aplicación completa de restauración automática SQL Server
This commit is contained in:
124
install.ps1
Normal file
124
install.ps1
Normal file
@@ -0,0 +1,124 @@
|
||||
# Script de instalación rápida
|
||||
|
||||
Write-Host "===============================================" -ForegroundColor Cyan
|
||||
Write-Host "CloudRestoreAS - Instalación Rápida" -ForegroundColor Cyan
|
||||
Write-Host "===============================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Verificar Python
|
||||
Write-Host "1. Verificando Python..." -ForegroundColor Yellow
|
||||
$pythonVersion = python --version 2>$null
|
||||
if (-not $pythonVersion) {
|
||||
Write-Host "❌ Python no está instalado o no está en el PATH" -ForegroundColor Red
|
||||
Write-Host " Descarga Python 3.11+ desde: https://www.python.org/downloads/" -ForegroundColor Yellow
|
||||
Read-Host "Presiona Enter para salir..."
|
||||
exit 1
|
||||
}
|
||||
Write-Host "✅ $pythonVersion" -ForegroundColor Green
|
||||
|
||||
# Verificar versión de Python
|
||||
$versionString = $pythonVersion -replace "Python ", ""
|
||||
$version = [version]($versionString.Split()[0])
|
||||
if ($version -lt [version]"3.11") {
|
||||
Write-Host "❌ Python $version es demasiado antiguo. Se requiere 3.11+" -ForegroundColor Red
|
||||
Read-Host "Presiona Enter para salir..."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Verificar 7-Zip
|
||||
Write-Host ""
|
||||
Write-Host "2. Verificando 7-Zip..." -ForegroundColor Yellow
|
||||
$sevenZipPaths = @(
|
||||
"C:\Program Files\7-Zip\7z.exe",
|
||||
"D:\Program Files\7-Zip\7z.exe",
|
||||
"C:\Program Files (x86)\7-Zip\7z.exe"
|
||||
)
|
||||
$sevenZipFound = $false
|
||||
foreach ($path in $sevenZipPaths) {
|
||||
if (Test-Path $path) {
|
||||
Write-Host "✅ 7-Zip encontrado en: $path" -ForegroundColor Green
|
||||
$sevenZipFound = $true
|
||||
break
|
||||
}
|
||||
}
|
||||
if (-not $sevenZipFound) {
|
||||
Write-Host "⚠️ 7-Zip no encontrado en ubicaciones estándar" -ForegroundColor Yellow
|
||||
Write-Host " Descarga 7-Zip desde: https://www.7-zip.org/" -ForegroundColor Yellow
|
||||
Write-Host " (Puedes configurar la ruta manualmente en la aplicación)" -ForegroundColor Cyan
|
||||
}
|
||||
|
||||
# Verificar ODBC Driver
|
||||
Write-Host ""
|
||||
Write-Host "3. Verificando ODBC Driver for SQL Server..." -ForegroundColor Yellow
|
||||
$odbcDrivers = Get-OdbcDriver | Where-Object {$_.Name -like "*SQL Server*"}
|
||||
if ($odbcDrivers) {
|
||||
Write-Host "✅ ODBC Driver encontrado:" -ForegroundColor Green
|
||||
$odbcDrivers | ForEach-Object { Write-Host " - $($_.Name)" -ForegroundColor Gray }
|
||||
} else {
|
||||
Write-Host "⚠️ ODBC Driver for SQL Server no encontrado" -ForegroundColor Yellow
|
||||
Write-Host " Descarga desde: https://aka.ms/downloadmsodbcsql" -ForegroundColor Yellow
|
||||
Write-Host " (Requerido para conectar con SQL Server)" -ForegroundColor Cyan
|
||||
}
|
||||
|
||||
# Crear entorno virtual
|
||||
Write-Host ""
|
||||
Write-Host "4. Creando entorno virtual..." -ForegroundColor Yellow
|
||||
if (Test-Path "venv") {
|
||||
Write-Host " El entorno virtual ya existe, omitiendo..." -ForegroundColor Gray
|
||||
} else {
|
||||
python -m venv venv
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host "✅ Entorno virtual creado" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "❌ Error creando entorno virtual" -ForegroundColor Red
|
||||
Read-Host "Presiona Enter para salir..."
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
# Activar entorno virtual
|
||||
Write-Host ""
|
||||
Write-Host "5. Instalando dependencias..." -ForegroundColor Yellow
|
||||
& ".\venv\Scripts\python.exe" -m pip install --upgrade pip
|
||||
& ".\venv\Scripts\pip.exe" install -r requirements.txt
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host "✅ Dependencias instaladas" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "❌ Error instalando dependencias" -ForegroundColor Red
|
||||
Read-Host "Presiona Enter para salir..."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Crear directorios necesarios
|
||||
Write-Host ""
|
||||
Write-Host "6. Creando directorios..." -ForegroundColor Yellow
|
||||
$dirs = @("data", "logs")
|
||||
foreach ($dir in $dirs) {
|
||||
if (-not (Test-Path $dir)) {
|
||||
New-Item -ItemType Directory -Path $dir | Out-Null
|
||||
Write-Host "✅ Creado: $dir" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host " $dir ya existe" -ForegroundColor Gray
|
||||
}
|
||||
}
|
||||
|
||||
# Resumen
|
||||
Write-Host ""
|
||||
Write-Host "===============================================" -ForegroundColor Green
|
||||
Write-Host "Instalación Completada" -ForegroundColor Green
|
||||
Write-Host "===============================================" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "Para ejecutar la aplicación:" -ForegroundColor Cyan
|
||||
Write-Host " 1. Activa el entorno virtual:" -ForegroundColor White
|
||||
Write-Host " .\venv\Scripts\Activate.ps1" -ForegroundColor Yellow
|
||||
Write-Host " 2. Ejecuta la aplicación:" -ForegroundColor White
|
||||
Write-Host " python runner.py" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "O ejecuta directamente:" -ForegroundColor Cyan
|
||||
Write-Host " .\venv\Scripts\python.exe runner.py" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Lee el README.md para configuración completa." -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
Read-Host "Presiona Enter para salir..."
|
||||
Reference in New Issue
Block a user