Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

Как работает деинсталятор?


Пишу деинсталятор.

Допустим, он запускается, удаляет все файлы, а, в конечном итоге, он должен удалить сам себя. Но процесс держит EXE-файл. Как быть?
    


Ответы

Ответ 1



MoveFileEx() с флагом MOVEFILE_DELAY_UNTIL_REBOOT. Тогда ваш файл удалится посл перезагрузки. И не надо будет с батниками плясать.

Ответ 2



На всякий случай, вариант через CMD (команда ping 127.0.0.1 -n 5 > nul нужна дл задержки в пять секунд): Process.Start("cmd.exe", "/C ping 127.0.0.1 -n 5 > nul & del " + Application.ExecutablePath); Application.Exit(); Ещё, как вариант, можно создать и запустить простенький bat-файл — они могут удалять сами себя без проблем.

Комментариев нет:

Отправить комментарий