Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Защита файлов


Автор: Михалыч 22.1.2010, 20:45
Подскажите,можно средствами делфи защитить от деинсталяции программу в то время когда она работает.
То есть нужно что бы когда программа запущена,то через деинсталятор удалить ее нельзя

Автор: kami 22.1.2010, 21:54
Цитата(Михалыч @  22.1.2010,  20:45 Найти цитируемый пост)
 через деинсталятор удалить ее нельзя

Во время работы программы создавать какой-нибудь именованный объект (например - мьютекс), а в деинсталляторе проверять его наличие.

Автор: Михалыч 22.1.2010, 22:08
Да,это вариант
Хотел проще,переименовать расширение у Uninstall.exe  и тогда он не вызовется,но windows7 не дает этого сделать

Автор: Frees 22.1.2010, 22:31
а разве можно удалить запущенный ехе? 

Автор: kami 22.1.2010, 22:40
Цитата(Frees @  22.1.2010,  22:31 Найти цитируемый пост)
разве можно удалить запущенный ехе?

Без извращений - нет (а может и с извращениями нельзя smile ).
Но Михалыч говорил не про exe, а про деинсталляцию программы. А это включает в себя все сопутствующие файлы (dll, ini ...), записи в реестре и т.д. и т.п и др. smile ... Экзешник-то останется, но вот без нужных для него файлов/параметров ничего хорошего сделать не сможет.

Автор: Frees 22.1.2010, 22:47
ехе и длл которые не удалось удалить можно поставить на удаление после перезагрузки.. так делают многие инстоляторы, и по завершению предлагают пере загрузиться.

хотя идея с мьютексом мне больше нравится

Автор: Михалыч 22.1.2010, 22:53
Решил все проще,отслеживаю по названию файла и по таймеру закрываю окно

Спасибо,вопрос решен
Да, в windows7 тяжеловато что то изменить в папке Program files 
 Хотел через батник,но винда все доступы к папке блокирует

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)