Для обновления самого себя ReplIn.exe создает uplman.cmd файл:
timeout 20 cscript //nologo sleep.js 20000 move /Y Repl\Temp\ReplIn.exe Repl\ReplIn.exe timeout 20 cscript //nologo sleep.js 20000 ReplIn.exe Agbis /RUN del sleep.js del uplman.cmd
После запуска этого файла происходит таймаут 20 секунд, потом таймаут другим способом (бывает один из них на разных системах не срабатывает). Таймаут нужен для ожидания, что ReplIn.exe файл уже точно завершил работу. Потом перенос файла из Temp (именно перенос) и дальше таймаут и запуск с теми же параметрами. В конце чистка сервисных файлов обновления.
Для обновления самого себя ReplOut.exe создает uplman.cmd файл:
timeout 20 cscript //nologo sleep.js 20000 move /Y Repl\Temp\ReplOut.exe Repl\ReplOut.exe timeout 20 cscript //nologo sleep.js 20000 ReplOut.exe Agbis /RUN del sleep.js del uplman.cmd
После запуска этого файла происходит аналогичный процесс, который указан для ReplIn.