Как программе удалить саму себя?

Добрый день!
Хочу написать программу, но пока встала одна проблема - как программе удалять саму себя?
Приложение кросс-платформенное, нужна поддержка Linux, OS X и Linux.
Первое, что пришло в голову, использовать местные шеллы (bash для Linux, cmd для Windows, Terminal для OS X), но не очень хочется связываться платформозависимыми средствами.
Есть ли какие-то другие пути, более универсальные? Используемый фреймворк - Qt
  • Вопрос задан
  • 3274 просмотра
Пригласить эксперта
Ответы на вопрос 4
EXL
@EXL
Энтузиаст
Для распространения своей утилиты под различными операционными системами вы можете воспользоваться кросс-платформенным установщиком Qt Installer Framework 1.5.0. Если мне не изменяет память - возможность удаления программы там присутствует. А вообще лучше всего сделать так:
Для Windows - установщик, который создает в меню "Пуск" ярлык на "unist.exe", удаляющий программу.
Для Linux - deb-пакет/tar.gz-пакет. Функция удаления линуксоидам не нужна, эту задачу решит пакетный менеджер, против которого ставить софт не рекомендуется.
Насчет Mac OS/OS X не знаю, но думаю там есть возможность удаления установленного приложения из каталога установленных программ.

Делать внутри программы функцию удаления этой программы - весьма плохой тон.
Ответ написан
Комментировать
создать программу "удалялку" которая удаляет программу, а потом создает одноразовую задачу cron на удаление "удалялки"
Ответ написан
Комментировать
@cigan
Напиши программу как можно г*внокоднее - юзер сам её удалит.
Ответ написан
@v_prom
для OS X не нужно, т.к. программа туда просто копируется и удаляется простым удалением файлов.
для линухи тоже самое или пакетный менеджер все сделает, для винды, как вам уже говорили, пишется деинсталлер, который убирает из реестра ключи вашей проги + удаляет ярлыки и файлы программы - ничего сложного.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы