Прежний PowerShell-скрипт переименовывал каталоги приложения целиком и
падал, если внутри был открыт хотя бы один файл (антивирус, драйвер
WinDivert, не завершившееся ядро): «The process cannot access the file
because it is being used by another process».
Теперь обновление ставит сам ZapretKVN.exe новой версии, запущенный из
распакованного архива с флагом --apply-update:
- файлы сравниваются с установленными, неизменившиеся не трогаются;
- изменённые заранее копируются рядом с приложением, сама замена — это
пофайловые переименования с журналом и откатом в обратном порядке;
- при сбое в журнал попадает имя файла и программа, которая его держит;
- приложение закрывается только после того, как установщик подтвердил
запуск, поэтому не остаётся закрытым, если установщик не поднялся;
- всё время установки на экране окно с ходом работы и фразами.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>