68 lines
4.7 KiB
Markdown
68 lines
4.7 KiB
Markdown
# ZKTeco SLK20R Driver Distribution & Licensing Policy
|
|
|
|
**Document Version:** 1.0.0
|
|
**Target Audience:** Compliance Officers, Legal Counsel, System Administrators, DevOps
|
|
**Affected Hardware:** ZKTeco SLK20R, BioLink U-Match, ZK6500, ZK8500, ZK9500
|
|
|
|
---
|
|
|
|
## 1. Executive Summary & Legal Compliance Rationale
|
|
|
|
The Krona Staff Terminal integrates with the ZKTeco SLK20R optical fingerprint scanner using the ZKTeco ZKFinger SDK 5.3 native interface (`libzkfpcsharp.dll` / `libzkfp.dll`).
|
|
|
|
To ensure strict legal compliance with third-party intellectual property rights, **the Krona Staff Terminal installer does NOT bundle or distribute the proprietary ZKTeco USB device driver (`slk20r.sys`, `slk20r.inf`, `zkfp.sys`) or native installer binaries**.
|
|
|
|
The device driver must be obtained by end-users or enterprise system administrators directly from ZKTeco's official software distribution channel.
|
|
|
|
---
|
|
|
|
## 2. EULA Analysis (ZKFinger SDK 5.3)
|
|
|
|
The official End-User License Agreement included with the ZKTeco ZKFinger SDK (`apps/KronaStaffTerminal/Vendor/ZKFinger/LICENSE.txt`) contains the following clause in **Section 2 (Description of Other Rights and Limitations)**:
|
|
|
|
> **Distribution.**
|
|
> *"The SOFTWARE PRODUCT may not be sold or be included in a product or package which intends to receive benefits through the inclusion of the SOFTWARE PRODUCT. The SOFTWARE PRODUCT may be included in any free or non-profit packages or products."*
|
|
|
|
### Legal Interpretation:
|
|
1. **Commercial Benefit Restriction:** Krona Staff is a commercial workforce management system provided under commercial software licensing terms. Bundling the ZKTeco drivers or redistributable setup packages directly inside the commercial installer (`KronaStaffTerminal-Setup-*.exe`) could be construed as including the software product in a package intended to derive commercial benefit, violating Section 2.
|
|
2. **Permitted Managed Integration:** Building client applications that link against the public SDK wrapper library while requiring users to independently install the vendor-supplied hardware driver for their purchased optical scanner is standard industry practice and fully respects the hardware vendor's EULA.
|
|
|
|
---
|
|
|
|
## 3. Terminal & Installer Behavior
|
|
|
|
To ensure a seamless operational experience without violating vendor licensing terms, the Krona Staff installer and application implement non-blocking automated driver detection and guidance:
|
|
|
|
### 3.1 Installer Detection Flow
|
|
1. During installation (via `installer/KronaStaffTerminal.nsi`), the installer checks for the presence of the SLK20R / ZKFinger driver across standard system locations:
|
|
- System driver directory: `%WINDIR%\System32\drivers\slk20r.sys`, `zkfp.sys`, `zkfpos.sys`, `ZKUSB.sys`
|
|
- Windows Service Registry keys:
|
|
- `HKLM\SYSTEM\CurrentControlSet\Services\slk20r`
|
|
- `HKLM\SYSTEM\CurrentControlSet\Services\zkfp`
|
|
- `HKLM\SYSTEM\CurrentControlSet\Services\ZKUSB`
|
|
2. If the driver is **absent**:
|
|
- The installer displays an informative notice explaining that the ZKTeco hardware driver is required for fingerprint scanning.
|
|
- It offers a one-click button to launch the official ZKTeco download portal:
|
|
`https://www.zkteco.com/en/Biometrics_Module_SDK/ZKFinger-SDK-for-Windows`
|
|
- The installer does **not** fail or block installation; it completes cleanly so that the terminal and synchronization service are ready once the driver is installed.
|
|
|
|
### 3.2 Terminal Runtime Flow
|
|
1. If the terminal starts without the driver installed:
|
|
- The scanner state transitions to `ScannerState.DriverError` or `ScannerState.Disconnected`.
|
|
- The system tray icon updates to `TrayState.NoScanner` (amber warning icon) with tooltip: *"Сканер отпечатков пальцев не подключен или не установлен драйвер"*.
|
|
- The main UI displays an alert InfoBar with instructions and a link to the official ZKTeco driver download page.
|
|
- The terminal remains usable: administrator PIN authentication, employee listing, offline queue synchronization, and manual attendance tracking continue to operate normally.
|
|
2. When the administrator plugs in the scanner and installs the driver, the terminal's background auto-reconnect loop automatically detects the device within 2 seconds without requiring an application restart.
|
|
|
|
---
|
|
|
|
## 4. Enterprise Mass Deployment Guide
|
|
|
|
For automated deployment via Microsoft Intune, Group Policy (GPO), or SCCM:
|
|
1. Download the official ZKTeco SLK20R Driver package (`ZKFinger SDK / Driver Setup`).
|
|
2. Extract the driver INF and SYS files (`slk20r.inf`, `slk20r.sys`, `slk20rx64.cat`).
|
|
3. Deploy the driver package silently using standard Windows DISM or pnputil:
|
|
```cmd
|
|
pnputil /add-driver slk20r.inf /install
|
|
```
|
|
4. Deploy `KronaStaffTerminal-Setup-<version>.exe /S` silently.
|