@echo off
chcp 65001 > nul
setlocal EnableDelayedExpansion
title Instalador FiscalSinc - Agente FiscalVault

echo ===============================================================================
echo                INSTALADOR DO AGENTE FISCALSINC (FISCALVAULT)
echo ===============================================================================
echo.
echo  Este instalador ira configurar o agente de sincronizacao automatica
echo  de documentos fiscais (NF-e, CT-e, NFS-e) no seu computador Windows.
echo.

set "INSTALL_DIR=C:\FiscalSinc"
set "SOURCE_DIR=%~dp0"

echo  Diretorio de Instalacao: %INSTALL_DIR%
echo.
set /p CONFIRM="Deseja prosseguir com a instalacao padrao? [S/N] (Padrao: S): "
if /i "%CONFIRM%"=="N" (
    echo Instalacao cancelada pelo usuario.
    pause
    exit /b 0
)

echo.
echo [1/5] Encerrando instancias anteriores em execucao...
taskkill /f /im FiscalVaultSyncGUI.exe >nul 2>&1
taskkill /f /im FiscalVaultSync.exe >nul 2>&1

echo [2/5] Criando estrutura de pastas do sistema...
if not exist "%INSTALL_DIR%" mkdir "%INSTALL_DIR%"
if not exist "C:\FiscalVault\XML_Saida" mkdir "C:\FiscalVault\XML_Saida"
if not exist "C:\FiscalVault\Downloads" mkdir "C:\FiscalVault\Downloads"

echo [3/5] Copiando arquivos executaveis compilados...
if exist "%SOURCE_DIR%FiscalVaultSyncGUI.exe" (
    copy /y "%SOURCE_DIR%FiscalVaultSyncGUI.exe" "%INSTALL_DIR%\" >nul
) else (
    echo ERRO: Arquivo FiscalVaultSyncGUI.exe nao encontrado em %SOURCE_DIR%!
    pause
    exit /b 1
)

if exist "%SOURCE_DIR%FiscalVaultSync.exe" (
    copy /y "%SOURCE_DIR%FiscalVaultSync.exe" "%INSTALL_DIR%\" >nul
)

if not exist "%INSTALL_DIR%\sync_config.json" (
    if exist "%SOURCE_DIR%sync_config.json" (
        copy /y "%SOURCE_DIR%sync_config.json" "%INSTALL_DIR%\sync_config.json" >nul
    )
)

echo [4/5] Criando atalhos no Desktop e Inicializacao do Windows...
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "$wsh = New-Object -ComObject WScript.Shell; " ^
    "$desktop = [Environment]::GetFolderPath('Desktop'); " ^
    "$startup = [Environment]::GetFolderPath('Startup'); " ^
    "$target = '%INSTALL_DIR%\FiscalVaultSyncGUI.exe'; " ^
    "$shortcutDesk = $wsh.CreateShortcut(\"$desktop\FiscalSinc - Agente FiscalVault.lnk\"); " ^
    "$shortcutDesk.TargetPath = $target; " ^
    "$shortcutDesk.WorkingDirectory = '%INSTALL_DIR%'; " ^
    "$shortcutDesk.Description = 'FiscalSinc - Agente de Sincronizacao FiscalVault'; " ^
    "$shortcutDesk.Save(); " ^
    "$shortcutStart = $wsh.CreateShortcut(\"$startup\FiscalSinc.lnk\"); " ^
    "$shortcutStart.TargetPath = $target; " ^
    "$shortcutStart.WorkingDirectory = '%INSTALL_DIR%'; " ^
    "$shortcutStart.Description = 'FiscalSinc - Inicializacao Automatica'; " ^
    "$shortcutStart.Save();"

echo [5/5] Instalacao concluida com sucesso!
echo.
echo ===============================================================================
echo  RESUMO DA INSTALACAO:
echo  - Pasta do Programa: %INSTALL_DIR%
echo  - Executavel Principal: %INSTALL_DIR%\FiscalVaultSyncGUI.exe
echo  - Atalho criado na Area de Trabalho (Desktop)
echo  - Inicializacao automatica com o Windows ativada
echo  - Pasta padrao para envio de XMLs: C:\FiscalVault\XML_Saida
echo  - Pasta padrao para download de XMLs: C:\FiscalVault\Downloads
echo ===============================================================================
echo.

set /p RUN_NOW="Deseja iniciar o FiscalSinc agora? [S/N] (Padrao: S): "
if /i not "%RUN_NOW%"=="N" (
    echo Iniciando o FiscalSinc...
    start "" "%INSTALL_DIR%\FiscalVaultSyncGUI.exe"
)

echo.
echo Processo finalizado! Consulte o MANUAL_DE_INSTALACAO_E_USO.html para mais informacoes.
pause
exit /b 0
