75 lines
2.3 KiB
Batchfile
75 lines
2.3 KiB
Batchfile
|
|
@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
|