Пишу деинсталятор.
Допустим, он запускается, удаляет все файлы, а, в конечном итоге, он должен удалить сам себя. Но процесс держит 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-файл — они могут удалять сами себя без проблем.
Комментариев нет:
Отправить комментарий