@echo off
setlocal EnableDelayedExpansion
title Installation Support a distance - FixPulse

REM =====================================================================
REM  Installe RustDesk pre-configure sur le serveur FixPulse (rd.nyx.tf)
REM  Le client n'a RIEN a taper : double-clic et c'est fait.
REM  A la fin, un identifiant a 9 chiffres s'affiche : communiquez-le au support.
REM =====================================================================

REM ---- Mot de passe d'acces non-surveille (MODIFIEZ-LE avant distribution) ----
set "RD_PASSWORD=FixPulse-2026"
REM ---- Config serveur (rd.nyx.tf + cle publique) format RustDesk : NE PAS MODIFIER ----
set "RD_CONFIG=9JSPVR0bjRmSaF2cJVDTQJ0SpR1TqJWZNFnRHhXamp0cmZUbwFUWUZWbmZVbOJiOikXZrJCLiIiOikGchJCLiYGdugXeu5CZyJiOikXYsVmciwiImRnL4lnbuQmciojI0N3boJye"
set "RD_VER=1.4.9"
set "RD_EXE=rustdesk-%RD_VER%-x86_64.exe"
set "RD_URL=https://github.com/rustdesk/rustdesk/releases/download/%RD_VER%/%RD_EXE%"

REM ---- Auto-elevation administrateur ----
net session >nul 2>&1
if %errorlevel% neq 0 (
  echo Demande des droits administrateur...
  powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
  exit /b
)

echo.
echo ============================================================
echo   Installation de l'outil de support a distance...
echo   Merci de patienter (environ 1 minute).
echo ============================================================
echo.

REM ---- Recuperer l'installeur : local a cote du .bat, sinon telechargement ----
set "SRC=%~dp0%RD_EXE%"
if exist "%SRC%" (
  echo [1/4] Installeur trouve localement.
  copy /Y "%SRC%" "%TEMP%\%RD_EXE%" >nul
) else (
  echo [1/4] Telechargement de RustDesk...
  powershell -Command "try { [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%RD_URL%' -OutFile '%TEMP%\%RD_EXE%' -UseBasicParsing } catch { exit 1 }"
  if !errorlevel! neq 0 (
    echo ERREUR : telechargement impossible. Verifiez la connexion Internet.
    pause & exit /b 1
  )
)

echo [2/4] Installation en cours...
"%TEMP%\%RD_EXE%" --silent-install
REM Laisser le service demarrer
timeout /t 18 /nobreak >nul

set "RDBIN=%ProgramFiles%\RustDesk\rustdesk.exe"
if not exist "%RDBIN%" set "RDBIN=%ProgramW6432%\RustDesk\rustdesk.exe"
if not exist "%RDBIN%" (
  echo ERREUR : RustDesk ne s'est pas installe correctement.
  pause & exit /b 1
)

echo [3/4] Configuration du serveur FixPulse...
"%RDBIN%" --config "%RD_CONFIG%"
"%RDBIN%" --password "%RD_PASSWORD%"
REM Redemarrer le service pour appliquer la config serveur
net stop RustDesk >nul 2>&1
timeout /t 2 /nobreak >nul
net start RustDesk >nul 2>&1

echo [4/4] Recuperation de l'identifiant...
timeout /t 4 /nobreak >nul
for /f "usebackq delims=" %%i in (`"%RDBIN%" --get-id 2^>nul`) do set "RD_ID=%%i"

echo.
echo ============================================================
echo   INSTALLATION TERMINEE
echo ------------------------------------------------------------
echo   Votre identifiant a communiquer au support :
echo.
echo        ^>^>^>   !RD_ID!   ^<^<^<
echo.
echo   Le support peut maintenant se connecter a tout moment.
echo ============================================================
echo.
pause
endlocal
