forked from lalakii/MouseClickTool
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgen_pkg.bat
More file actions
96 lines (79 loc) · 2.53 KB
/
gen_pkg.bat
File metadata and controls
96 lines (79 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@echo off
REM ==========================
REM 该批处理脚本用于将编译后的 DLL 压缩为 GZip 格式文件(x86.GZ 和 x64.GZ),
REM 采用系统自带的 PowerShell 来完成压缩,避免依赖外部的 7za.exe。
REM 使用前请确保已构建项目,DLL 位于 bin\dll\net462\MouseClickTool.dll。
REM ==========================
setlocal enabledelayedexpansion
REM Configuration
set "PROJECT_NAME=App"
set "TARGET_FRAMEWORK=net462"
set "DLL_SOURCE=bin\dll\%TARGET_FRAMEWORK%\MouseClickTool.dll"
set "EASY_GZIP=bin\EasyGzip\%TARGET_FRAMEWORK%\EasyGzip.exe"
set "x86Gz=.\%PROJECT_NAME%\x86.GZ"
set "x64Gz=.\%PROJECT_NAME%\x64.GZ"
echo.
echo ==============================
echo MouseClickTool Packaging Tool
echo ==============================
echo.
echo Project: %PROJECT_NAME%
echo Target Framework: %TARGET_FRAMEWORK%
echo.
REM 验证 EasyGzip 是否存在
if not exist "%EASY_GZIP%" (
echo [ERROR] EasyGzip not found at: %EASY_GZIP%
echo [INFO] Please build the project first
echo.
exit /b 1
)
REM 验证 DLL 是否存在
if not exist "%DLL_SOURCE%" (
echo [ERROR] DLL not found at: %DLL_SOURCE%
echo [INFO] Please build the project first
echo.
exit /b 1
)
echo [OK] DLL found: %DLL_SOURCE%
REM 验证项目目录是否存在
if not exist ".\%PROJECT_NAME%\" (
echo [ERROR] Project directory not found: %PROJECT_NAME%
exit /b 1
)
echo [OK] Project directory found
echo.
REM 使用 PowerShell 进行压缩(无需外部依赖),下面调用 PowerShell 执行压缩逻辑
REM PowerShell 脚本会读取 DLL、使用 .NET GZipStream 压缩为 x86.GZ,
REM 然后拷贝为 x64.GZ。脚本包括错误处理并返回适当的错误代码。
echo [INFO] Attempting to package DLL...
echo.
REM Use PowerShell for robust GZip compression (no external dependencies)
%EASY_GZIP% %DLL_SOURCE% %x86Gz%
copy /Y %x86Gz% %x64Gz%
if %ERRORLEVEL% NEQ 0 (
echo.
echo [ERROR] Packaging failed!
echo.
echo Troubleshooting:
echo - Ensure the project has been built
echo - Verify output path: bin\dll\%TARGET_FRAMEWORK%\
echo - Check write permissions to: %PROJECT_NAME%\
echo.
exit /b 1
)
echo.
echo [OK] x86.GZ created successfully
if exist ".\%PROJECT_NAME%\x86.GZ" (
for %%f in (".\%PROJECT_NAME%\x86.GZ") do echo Size: %%~zf bytes
)
echo [OK] x64.GZ created successfully
if exist ".\%PROJECT_NAME%\x64.GZ" (
for %%f in (".\%PROJECT_NAME%\x64.GZ") do echo Size: %%~zf bytes
)
echo.
echo ==============================
echo Packaging completed!
echo Output: .\%PROJECT_NAME%\
echo ==============================
echo.
exit /b 0