@echo off
chcp 65001 >nul
set SERVICE_NAME=HiposReport
set BASE_DIR=%~dp0
set EXE=%BASE_DIR%HiposReport.exe

echo ========================================
echo  HIPOS Report - 安装 Windows 服务
echo ========================================

net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 请右键使用管理员身份运行本文件。
    pause
    exit /b 1
)

if not exist "%EXE%" (
    echo 找不到 %EXE%
    echo 请先发布/复制 HiposReport.exe 到 report 目录。
    pause
    exit /b 1
)

sc query %SERVICE_NAME% >nul 2>&1
if %errorlevel% equ 0 (
    echo 服务已存在，停止并更新路径...
    sc stop %SERVICE_NAME% >nul 2>&1
    timeout /t 2 >nul
    sc config %SERVICE_NAME% binPath= "\"%EXE%\"" start= auto >nul
) else (
    echo 正在创建服务...
    sc create %SERVICE_NAME% binPath= "\"%EXE%\"" start= auto DisplayName= "HIPOS Remote Report"
)

sc description %SERVICE_NAME% "HIPOS 远程报表服务"
netsh advfirewall firewall add rule name="HiposReport 8899" dir=in action=allow protocol=TCP localport=8899 >nul 2>&1
sc start %SERVICE_NAME%

echo.
echo 完成。下次开机会自动启动。
echo 本机：http://127.0.0.1:8899
echo 局域网：http://电脑IP:8899
pause
