Hanvon F710X Attendance Service - Deployment Notes
==================================================

1. Build output folder: bin\Debug\ (or bin\Release\)

2. Copy Hanvon HDCP SDK native DLLs next to the EXE:
   - HwDevComm.dll
   - HDCP_Utils.dll
   These ship with the Hanvon face-terminal SDK (HDCP protocol). F710/F710X is supported by this SDK.

3. Configure App.config (copied as HanvonF710XAttendanceService.exe.config):
   - connectionStrings / HrmsDb
   - ATTENDANCE_SCOPE = CENTRAL or SITE
   - MACHINE_TYPES = HANVON,F710X,F710
   - DEVICE_TYPE = HW_HDCP
   - ATTENDANCE_DELETE_AFTER_INSERT = true

4. Configure DeviceSettings.xml for SITE scope and template transfer jobs.

5. Ensure attendance_machine rows use machine_type HANVON (or F710X/F710).

6. Install the Windows service (run elevated):
   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe HanvonF710XAttendanceService.exe

7. Start the service:
   net start HanvonF710XAttendanceService

8. Uninstall:
   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /u HanvonF710XAttendanceService.exe

Log folders (created at runtime beside the EXE):
- InternalLogs\
- Logs\Attendance\
- Logs\Machine User service\
- Logs\SaveFaceTemplate logs\
- Logs\FaceTransferLog\
- TemplateRawLogs\

Jobs:
- Attendance + machine users: every 20 minutes (ATTENDANCE_JOB_INTERVAL_MINUTES)
- Templates: every 4 hours (TEMPLATE_JOB_INTERVAL_MINUTES)
- Both jobs run once on startup (templates after 30s delay)

Console / debug mode (no InstallUtil needed):
- From Visual Studio: F5 (Debug builds run as console when interactive)
- From command line:
    HanvonF710XAttendanceService.exe --console
    HanvonF710XAttendanceService.exe --debug
- Force Windows Service host even if interactive:
    HanvonF710XAttendanceService.exe --service
- Press Enter or Ctrl+C to stop console mode.
