SINT Upgrader DevExpress Fixer
==============================

WHAT IT FIXES
-------------
"Sint Upgrader.exe" upgrades itself, but the newer DevExpress assemblies it now
needs are not copied across. The next launch fails with a missing-assembly
error. This tool copies the correct DevExpress DLLs back into the install
folder.


HOW TO USE IT
-------------
1. Copy this ENTIRE folder to the broken machine (the .exe needs the Payload
   folder sitting next to it).
2. Right-click Fix-SintUpgrader.cmd and choose "Run as administrator".
3. Read the summary at the end, then start Sint Upgrader again.

It will find the install itself. It looks in this order:

    the machine's own Common Files location
    C:\Program Files (x86)\Common Files\SINT Upgrader
    C:\Program Files\Common Files\SINT Upgrader
    then the same two paths under every other drive letter on the machine

Every install it finds gets fixed.


WHAT IT DOES TO THE MACHINE
---------------------------
* Copies a DevExpress DLL only when it is missing, or a different size/version.
  Files that already match are left alone and reported as "ok".
* Before replacing a file it copies the old one to
      <install folder>\_UpgradeFixerBackup\<date_time>\
* If Sint Upgrader (or its service) is running and holding the files open, it
  offers to stop it, and restarts the service afterwards.
* Nothing else in the folder is touched.

A log is written to the Logs folder next to the .exe, or to
C:\ProgramData\SINT\UpgradeFixer if this folder is read-only.


UNATTENDED / RMM DEPLOYMENT
---------------------------
    SintUpgradeFixer.exe --stop -y

    -y      no prompts, no "press any key" at the end
    --stop  stop anything holding the files open, without asking

Exit codes:
    0   done (files copied and/or already correct)
    1   bad command line
    2   not running as Administrator
    3   Payload folder missing or empty
    4   no SINT Upgrader install found on any drive
    5   one or more files could not be copied
    9   unexpected error

Run SintUpgradeFixer.exe --help for the full option list.
Useful ones:
    --dryrun            show what would change, write nothing
    --force             re-copy every file even if it already matches
    --path "<folder>"   fix one specific folder instead of searching
