Files
SignatureSystem/install_service.bat

75 lines
2.3 KiB
Batchfile
Raw Normal View History

2026-07-20 13:16:17 +08:00
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul 2>&1
title 注册自动签名系统服务
echo ========================================
echo 自动签名系统 - 注册 Windows 服务
echo ========================================
echo.
cd /d "%~dp0"
set SERVICE_NAME=SealWordSignService
set SERVICE_DISPLAY=自动签名系统 Web 服务
set CURRENT_DIR=%~dp0
set CURRENT_DIR=%CURRENT_DIR:~0,-1%
sc query %SERVICE_NAME% >nul 2>&1
if !errorlevel! equ 0 (
echo [警告] 服务 %SERVICE_NAME% 已存在,先停止并删除旧服务...
net stop %SERVICE_NAME% >nul 2>&1
sc delete %SERVICE_NAME% >nul 2>&1
)
echo [1/3] 注册服务...
if exist "%CURRENT_DIR%\python\python.exe" (
set BINARY_PATH=%CURRENT_DIR%\python\python.exe
set BINARY_ARGS=-u "%CURRENT_DIR%\app.py"
) else (
set BINARY_PATH=python.exe
set BINARY_ARGS=-u "%CURRENT_DIR%\app.py"
)
sc create %SERVICE_NAME% binPath= "\"!BINARY_PATH!\" !BINARY_ARGS!" DisplayName= "%SERVICE_DISPLAY%" start= auto >nul 2>&1
if !errorlevel! neq 0 (
echo [错误] 注册服务失败,请以管理员身份运行此脚本。
pause
exit /b 1
)
sc description %SERVICE_NAME% "泛微 Ecology OA 流程审批 Word 自动签章与公章插入服务" >nul 2>&1
echo [2/3] 注册 MySQL 服务(如内置 MySQL 存在)...
set MYSQL_HOME=%CURRENT_DIR%\mysql
if exist "%MYSQL_HOME%\bin\mysqld.exe" (
sc query MySql_SealWordSign >nul 2>&1
if !errorlevel! neq 0 (
"%MYSQL_HOME%\bin\mysqld.exe" --install MySql_SealWordSign --defaults-file="%MYSQL_HOME%\my.ini" >nul 2>&1
if !errorlevel! equ 0 (
sc config MySql_SealWordSign start= auto >nul 2>&1
net start MySql_SealWordSign >nul 2>&1
echo MySQL 服务已注册并启动
) else (
echo [警告] MySQL 服务注册失败,应用仍可启动并回退到 SQLite
)
) else (
echo MySQL 服务已存在
)
) else (
echo 未检测到内置 MySQL跳过 MySQL 服务注册
)
echo [3/3] 启动 Web 服务...
net start %SERVICE_NAME% >nul 2>&1
if !errorlevel! equ 0 (
echo 服务已启动net start %SERVICE_NAME%
echo 服务停止命令net stop %SERVICE_NAME%
echo 服务卸载命令:运行本目录下 uninstall_service.bat
) else (
echo [警告] 服务启动失败,请查看 Windows 事件日志
)
echo.
pause