Мы создали это в одной компании, в которой я работал.Приложения запускались из «мастер-программы» под названием «Launcher».У каждого приложения был файл версии.Когда пользователь запускал Launcher, каждая версия приложения PB проверяла свою версию на соответствие тому, что было сохранено на сервере.Если версии не совпадают, файлы копируются с сервера на клиент.Затем Launcher запустил исполняемый файл приложения.С этой настройкой мы могли бы легко развернуть новую версию приложения, просто скопировав файлы на сервер, а затем попросив пользователя закрыть модуль запуска и затем перезапустить его.