123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- @echo off
- echo ====================================
- echo ThCardReader 自动打包脚本
- echo ====================================
- echo.
- :: 设置变量
- set PROJECT_NAME=ThCardReader
- set BUILD_CONFIG=Release
- set BUILD_PLATFORM=x86
- set OUTPUT_DIR=bin\%BUILD_PLATFORM%\%BUILD_CONFIG%
- set PACKAGE_DIR=Package_%PROJECT_NAME%_%BUILD_CONFIG%
- echo 1. 检查开发环境...
- where msbuild >nul 2>nul
- if %errorlevel% neq 0 (
- echo 错误: 未找到 MSBuild,请确保安装了 Visual Studio 或 .NET Framework SDK
- pause
- exit /b 1
- )
- echo 2. 清理旧的编译文件...
- msbuild %PROJECT_NAME%\%PROJECT_NAME%.csproj /t:Clean /p:Configuration=%BUILD_CONFIG% /p:Platform=%BUILD_PLATFORM% /verbosity:minimal
- if %errorlevel% neq 0 (
- echo 错误: 清理失败
- pause
- exit /b 1
- )
- echo 3. 编译项目...
- msbuild %PROJECT_NAME%\%PROJECT_NAME%.csproj /t:Build /p:Configuration=%BUILD_CONFIG% /p:Platform=%BUILD_PLATFORM% /verbosity:minimal
- if %errorlevel% neq 0 (
- echo 错误: 编译失败
- pause
- exit /b 1
- )
- echo 4. 创建打包目录...
- if exist %PACKAGE_DIR% (
- rmdir /s /q %PACKAGE_DIR%
- )
- mkdir %PACKAGE_DIR%
- echo 5. 复制核心文件...
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\%PROJECT_NAME%.exe" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\%PROJECT_NAME%.exe.config" "%PACKAGE_DIR%\"
- echo 6. 复制依赖库文件...
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Microsoft.Owin*.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\System.Web.Http*.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\System.Net.Http.Formatting.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Newtonsoft.Json.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Owin.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\System.Web.Cors.dll" "%PACKAGE_DIR%\"
- echo 7. 复制华视读卡器文件...
- if exist "%PROJECT_NAME%\%OUTPUT_DIR%\Termb.dll" (
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Termb.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\TSConfig.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\WltRS.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\TSW_KS.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\InputPwd.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\BmpToJpg.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\TypeA.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\UnPack.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\JpgDll.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\libcurl.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\termb.lic" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\用前必读.TXT" "%PACKAGE_DIR%\"
- )
- echo 8. 复制江苏医保文件...
- if exist "%PROJECT_NAME%\%OUTPUT_DIR%\HeaSecReadInfo.dll" (
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\HeaSecReadInfo.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\SSCardDriver*.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\SSCardPKI.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\GetInfo.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Message.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\NeuSSCard.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\ElecEvidenceClient.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\JSGetQRCode.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\GetSFZInfoDriver_JS.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\NeuCSB.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\LNGenComp.dll" "%PACKAGE_DIR%\"
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\libeay32.dll" "%PACKAGE_DIR%\"
- )
- echo 9. 复制配置文件...
- if exist "%PROJECT_NAME%\%OUTPUT_DIR%\Config.ini" (
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\Config.ini" "%PACKAGE_DIR%\"
- )
- if exist "%PROJECT_NAME%\%OUTPUT_DIR%\HSM*.ini" (
- copy "%PROJECT_NAME%\%OUTPUT_DIR%\HSM*.ini" "%PACKAGE_DIR%\"
- )
- echo 10. 复制文档...
- copy "ThCardReader打包和部署指南.md" "%PACKAGE_DIR%\"
- copy "ThCardReader使用说明文档.md" "%PACKAGE_DIR%\"
- echo 11. 创建日志目录...
- mkdir "%PACKAGE_DIR%\logs"
- mkdir "%PACKAGE_DIR%\NEULOGS"
- mkdir "%PACKAGE_DIR%\TSLOG"
- echo 12. 创建启动脚本...
- echo @echo off > "%PACKAGE_DIR%\启动服务.bat"
- echo echo 正在启动ThCardReader服务... >> "%PACKAGE_DIR%\启动服务.bat"
- echo ThCardReader.exe >> "%PACKAGE_DIR%\启动服务.bat"
- echo 13. 创建README文件...
- echo ThCardReader 读卡服务 > "%PACKAGE_DIR%\README.txt"
- echo. >> "%PACKAGE_DIR%\README.txt"
- echo 功能说明: >> "%PACKAGE_DIR%\README.txt"
- echo 1. 华视读身份证功能 >> "%PACKAGE_DIR%\README.txt"
- echo 2. 江苏医保读社保卡功能 >> "%PACKAGE_DIR%\README.txt"
- echo. >> "%PACKAGE_DIR%\README.txt"
- echo 使用方法: >> "%PACKAGE_DIR%\README.txt"
- echo 1. 以管理员身份运行 ThCardReader.exe >> "%PACKAGE_DIR%\README.txt"
- echo 2. 服务启动后访问 http://localhost:8321 >> "%PACKAGE_DIR%\README.txt"
- echo 3. 详细说明请参考使用文档 >> "%PACKAGE_DIR%\README.txt"
- echo.
- echo ====================================
- echo 打包完成!
- echo ====================================
- echo 输出目录: %PACKAGE_DIR%
- echo 主程序: %PACKAGE_DIR%\ThCardReader.exe
- echo 启动脚本: %PACKAGE_DIR%\启动服务.bat
- echo 部署指南: %PACKAGE_DIR%\ThCardReader打包和部署指南.md
- echo 使用文档: %PACKAGE_DIR%\ThCardReader使用说明文档.md
- echo.
- :: 询问是否立即测试
- set /p test_choice=是否立即测试打包结果?(y/n):
- if /i "%test_choice%"=="y" (
- echo 正在启动测试...
- cd %PACKAGE_DIR%
- ThCardReader.exe
- )
- pause
|