==Автообновление ReplIn== Для обновления самого себя 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== Для обновления самого себя 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. ==Почему автообновление могло не сработать== * Таймаута не было ни по одному способу, тогда move не смог выполниться * Антивирус мог проверять новый .exe дольше 20/40 секунд * Службе не хватило прав(если задача в xStarter и xStarter запускается как служба) на замену файла * Было прервано выполнение файла (тогда до удаления файла uplman.cmd не дошло и он должен остаться)