Skip to content

Troubleshooting

Guard doesn't start

Symptom: The ViciCalibGuard Scheduled Task shows as "Never ran" or "Last Run Result: 0x1".

Check:

  1. Open Task Scheduler → find ViciCalibGuard → right-click → Run.
  2. Check the log file at C:\ProgramData\ViciCalibGuard\guard.log for ERROR entries.
  3. Confirm guard.exe exists at C:\Program Files\ViaOnboard\resources\guard.exe.
  4. Confirm guard-config.json exists at C:\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:

  1. Open guard-config.json and verify the path in watchPaths is correct. Use double backslashes: C:\\ViciVision\\mtl.ini.
  2. Confirm the .ini file actually exists at that path on disk.
  3. 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:

  1. Navigate to C:\ProgramData\ViciCalibGuard\backups\.
  2. Delete the .json file corresponding to the affected .ini path.
  3. Perform a fresh authorized calibration (with a valid license key installed).
  4. 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:

  1. Confirm PowerShell is available: open a command prompt and run powershell -version.
  2. Check the log for ERROR entries related to notify — the log entry still appears even if the dialog fails.
  3. 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:

  1. Is a valid license installed? Run node install-key.js --status to check. If a valid key is present, changes are intentionally allowed.
  2. Is the guard running? Open Task Scheduler and confirm the ViciCalibGuard task is active.
  3. Is the correct file path in watchPaths? The guard only watches paths explicitly listed in guard-config.json. Changes to other files are ignored.
  4. 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:

  1. The full guard.log file from C:\ProgramData\ViciCalibGuard\guard.log
  2. The guard-config.json file (redact any sensitive path names if needed)
  3. The output of node install-key.js --status (or equivalent from VIA Onboard)
  4. Windows version and whether the machine account has Administrator privileges