Мила, у нас файлом со списком версий, он лежит в общей папке и его читает установщик перед стартом.
versions.txt:
parser=3.14.2
klient=2.8.0
razbor=1.19.4
Дальше на каждой машине крохотный скрипт: сверил установленное со списком, разошлось, поставил нужное, записал в журнал. Ничего умного.
Отдельно скажу про то, чего в этой схеме многим не хватает. Записывайте не только номер версии, но и контрольную сумму файла, который вы поставили. Иначе через месяц выясняется, что под одним и тем же номером у трёх машин лежат разные сборки: кто-то скачал раньше, кто-то позже, автор молча перевыложил архив. Ловится это только суммой.
И держите у себя копию установщика. Ссылки на скачивание живут недолго, а откатываться иногда надо срочно.
разбираю чужие конфиги за печенье