@echo off
REM filepath: /C:/Users/Administrator/Desktop/ffi-napi/rebuild-with-icon-fix.bat
echo ========================================
echo 完整重新打包（修复图标）
echo ========================================
echo.

REM 1. 检查图标
echo 步骤 1/6: 检查图标文件...
if not exist "build\icon.ico" (
    echo [错误] 找不到 build\icon.ico
    pause
    exit /b 1
)
echo [OK] 图标文件存在
echo.

REM 2. 结束所有相关进程
echo 步骤 2/6: 结束相关进程...
taskkill /F /IM "FFI-NAPI-App*.exe" 2>nul
taskkill /F /IM electron.exe 2>nul
timeout /t 2 /nobreak >nul
echo [OK] 进程已结束
echo.

REM 3. 清理构建目录
echo 步骤 3/6: 清理旧的构建文件...
if exist dist (
    rmdir /s /q dist
    timeout /t 1 /nobreak >nul
)
if exist node_modules\.cache (
    rmdir /s /q node_modules\.cache
)
echo [OK] 构建目录已清理
echo.

REM 4. 清理 Windows 图标缓存
echo 步骤 4/6: 清理 Windows 图标缓存...
echo 正在结束资源管理器...
taskkill /f /im explorer.exe 2>nul
timeout /t 1 /nobreak >nul

cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer
attrib -h IconCache.db 2>nul
del IconCache.db /f /q 2>nul
attrib -h iconcache_*.db 2>nul
del iconcache_*.db /f /q 2>nul

cd /d %~dp0
start explorer.exe
timeout /t 2 /nobreak >nul
echo [OK] 图标缓存已清理
echo.

REM 5. 打包 32 位
echo 步骤 5/6: 打包 32 位版本...
echo ========================================
call npm run build:32
if errorlevel 1 (
    echo [错误] 32位打包失败
    pause
    exit /b 1
)
echo [OK] 32位打包完成
echo.

REM 6. 打包 64 位
echo 步骤 6/6: 打包 64 位版本...
echo ========================================
call npm run build:64
if errorlevel 1 (
    echo [错误] 64位打包失败
    pause
    exit /b 1
)
echo [OK] 64位打包完成
echo.

echo ========================================
echo 所有版本打包完成！
echo ========================================
echo.
echo 输出文件：
dir dist\*.exe /b
echo.
echo 注意：如果图标仍未更新，请：
echo 1. 重启电脑
echo 2. 删除旧的 exe 文件
echo 3. 重新运行此脚本
echo.
pause