Troubleshooting¶
Guard doesn't start¶
Symptom: The ViciCalibGuard Scheduled Task shows as "Never ran" or "Last Run Result: 0x1".
Check:
- Open Task Scheduler → find ViciCalibGuard → right-click → Run.
- Check the log file at
C:\ProgramData\ViciCalibGuard\guard.logforERRORentries. - Confirm
guard.exeexists atC:\Program Files\ViaOnboard\resources\guard.exe. - Confirm
guard-config.jsonexists atC:\Program Files\ViaOnboard\resources\guard-config.json.
If the config file is missing or malformed, the guard exits immediately on startup. Pass --config explicitly to test:
"C:\Program Files\ViaOnboard\resources\guard.exe" --config "C:\Program Files\ViaOnboard\resources\guard-config.json"
Registry write fails — "Access is denied"¶
Symptom: node install-key.js <key> returns Access is denied.
Cause: Writing to HKLM requires Administrator privileges.
Fix: Open your terminal as Administrator, then retry the command. In VIA Onboard, use the Settings → Service license key UI — VIA Onboard requests elevation automatically.
File is not being watched¶
Symptom: Log shows WARN: Watch target not found for a path, and reverts are not happening.
Check:
- Open
guard-config.jsonand verify the path inwatchPathsis correct. Use double backslashes:C:\\ViciVision\\mtl.ini. - Confirm the
.inifile actually exists at that path on disk. - The guard will pick up the file on the next interval tick once it exists.
Revert happens but restored values look wrong¶
Symptom: Guard reverts the file, but the restored calibration values are incorrect.
Cause: The backup was created from a bad state — either the machine was calibrated incorrectly before the backup was taken, or the backup JSON was corrupted.
Fix:
- Navigate to
C:\ProgramData\ViciCalibGuard\backups\. - Delete the
.jsonfile corresponding to the affected.inipath. - Perform a fresh authorized calibration (with a valid license key installed).
- The guard will create a new backup from the correct state.
Windows notification dialog doesn't appear¶
Symptom: Guard reverts the file (log shows REVERT) but no dialog appears on screen.
Cause: The guard uses PowerShell to create the dialog. If PowerShell isn't available or the process runs in a non-interactive session, the dialog is skipped.
Check:
- Confirm PowerShell is available: open a command prompt and run
powershell -version. - Check the log for
ERRORentries related tonotify— the log entry still appears even if the dialog fails. - The guard continues to protect files even if the dialog can't be shown.
Calibration changes are being allowed when they shouldn't be¶
Symptom: You expect the guard to revert changes but it isn't.
Check in order:
- Is a valid license installed? Run
node install-key.js --statusto check. If a valid key is present, changes are intentionally allowed. - Is the guard running? Open Task Scheduler and confirm the ViciCalibGuard task is active.
- Is the correct file path in
watchPaths? The guard only watches paths explicitly listed inguard-config.json. Changes to other files are ignored. - Is the section being modified in
protectedSections? Only listed sections are reverted. Changes to unprotected sections (e.g.,[SETTINGS]) are always allowed.
Log file is very large¶
The guard appends to guard.log indefinitely — it does not rotate the file. If the log gets large, you can safely delete or truncate it:
del "C:\ProgramData\ViciCalibGuard\guard.log"
The guard creates a new file on its next log write.
How to collect diagnostic information for support¶
When reporting a Calibration Guard issue, include:
- The full
guard.logfile fromC:\ProgramData\ViciCalibGuard\guard.log - The
guard-config.jsonfile (redact any sensitive path names if needed) - The output of
node install-key.js --status(or equivalent from VIA Onboard) - Windows version and whether the machine account has Administrator privileges