A robust, enterprise-grade real-time attendance monitoring system for ZKTeco fingerprint devices. Designed for 24/7 continuous operation with automatic connection recovery.
| Version | Description |
|---|---|
| v2.0.0 Release | Recommended. Optimized for production use. |
| v2.0.0 Debug | Includes verbose logging for troubleshooting. |
System Requirements: Windows 10/11 (x86 or x64)
Dependencies: The installer automatically registerszkemkeeper.dll.
| Feature | Description |
|---|---|
| 24/7 Stability | Built-in Watchdog checks connections every 30s and auto-reconnects if devices go offline. |
| Real-time Monitoring | Captures attendance events instantly as they happen. |
| Multi-Device | Connect to unlimited ZKTeco devices simultaneously. |
| Multi-Database | Supports PostgreSQL, MySQL, SQL Server, SQLite, and Oracle. |
| Windows Service | Runs silently in the background, starting automatically with Windows. |
| Comprehensive Logging | Logs connection events, database errors, and attendance checks to logs/ folder. |
| Clean Uninstall | Uninstaller automatically cleans up all logs and data files. |
The application is safe and open-source, but because it is not digitally signed (signing requires a paid certificate):
- Windows SmartScreen may warn you ("Windows protected your PC"). Click More info -> Run anyway.
- Antivirus may flag it as "Unknown" or "Heuristic" because it is a new program that creates a Windows Service.
- Solution: It is a False Positive. You can add an exception for
C:\Program Files (x86)\ZKTeco Attendance\if needed. - Verification: You can review the source code yourself to confirm it is safe.
- Solution: It is a False Positive. You can add an exception for
- Run
ZKTecoAttendance-Setup.msi. - Follow the wizard.
- The installer will automatically:
- Install the application to
C:\Program Files (x86)\ZKTeco Attendance. - Register the ZKTeco SDK.
- Create a Desktop shortcut.
- Install the application to
Open the .env file in the installation folder and configure your devices:
# === Device Configuration ===
DEVICE_1_ENABLED=true
DEVICE_1_NAME=FrontDoor
DEVICE_1_IP=192.168.1.201
DEVICE_1_PORT=4370
# === Database (Optional) ===
POSTGRES_ENABLED=trueThe application runs automatically as a Windows Service.
- To Start/Stop: Use "Services" (
services.msc) -> Find "ZKTeco Attendance Service". - To View Logs: Open
C:\Program Files (x86)\ZKTeco Attendance\logs\.
- .NET 9.0 SDK
- WiX Toolset v4 (Run
dotnet tool install --global wix)
- Prepare Icon: Place a valid PNG image at
image/zkteco.png. - Run Build Script:
scripts\build_release.bat
Check logs/zkteco_YYYY-MM-DD.log. You should see:
[Watchdog] Connection lost to FrontDoor. Reconnecting...[Watchdog] Reconnected FrontDoor!
- Run as Administrator.
- Check if port 4370 is open.
- Verify
.envsyntax.
Ensure image/zkteco.png is a valid PNG file, not a renamed WebP/JPEG.
MIT License.