удаление программы...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Nik
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 27.10.2004 (Ср) 15:37
Откуда: Аккерман, Украина

удаление программы...

Сообщение Nik » 14.03.2005 (Пн) 12:47

Подскажите, пожалуйста...
Есть необходимость запуска внешнего модуля, который делает изменения в программе (модуль приходит по почте). Он должен сработать только один раз, т.е. необходимо чтоб он сам себя удалил после выполнения.
Как заставить программу удалить саму себя?

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 14.03.2005 (Пн) 12:51

Запустить из программы батник и выйти. А батник удалит и программу и себя.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 14.03.2005 (Пн) 12:54

А не проще ли заставить программу удалить модуль по завершению обновления? Т.е. код удаления разместить в самой программе, а не в модуле?
Всё бывает!

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 14.03.2005 (Пн) 13:16

Ну, уж точно не проще, чем написать батник из двух строчек!!!

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 14.03.2005 (Пн) 13:19

Может и немного проще, если только,конечно, батник пересылать вместе с модулем...
Всё бывает!

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 14.03.2005 (Пн) 13:29

Да и то я не представляю, как батник будет дожидаться завершения программы...
Всё бывает!

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 14.03.2005 (Пн) 13:30

А кто мешает написать процедуру в модуле, которая будет создавать нужный батник запускать его и завершать работу модуля. Остальное сделает батник.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Nik
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 27.10.2004 (Ср) 15:37
Откуда: Аккерман, Украина

Сообщение Nik » 14.03.2005 (Пн) 17:14

1) Re: Костя
Удалять внешний модель из основной программы нельзя, потому что модуль (в принципе он может быть и просто батником) должен заменять екзешник основной проги (и кроме этого другие операции по корректировке/обновлению БД и пр.), а для этого прогу нужно завершить.
2) Re: Ruslan Demidow
А батник не дожидается завершения проги, себя удаляет успешно, а вот екзешник проги остается. Может я что-то не то делаю…
В проге (c:\proga\proga.exe):
Private Sub Form_Load()
Shell “a:\update.bat”
Unload me
End Sub

В батнике (a:\update.bat):
copy a:\proga.exe c:\proga\proga.exe
del a:\update.bat

может есть еще варианты?

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 14.03.2005 (Пн) 17:22

В батнике
:notdelited
del "C:\proga.exe"
if exist "C:\proga.exe" goto notdelited

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 14.03.2005 (Пн) 18:34

И ещё: дай программе (форме) загрузиться полностью, а уже потом делай нужные тебе действия.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 14.03.2005 (Пн) 18:57

Еще полезно перед запуском BAT-файла выгрузить совсем все, запустить BAT и END-нуть

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 15.03.2005 (Вт) 17:48

Alexander N. Samarin писал(а):Еще полезно перед запуском BAT-файла выгрузить совсем все, запустить BAT и END-нуть

Может всё таки не END-нуть а Unload Me?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 15.03.2005 (Вт) 20:29

Может всё таки не END-нуть а Unload Me?

Так иногда глючит - не все выгружается и BAT-ник лопается :D

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 15.03.2005 (Вт) 21:47

:notdelited
del "C:\proga.exe"
if exist "C:\proga.exe" goto notdelited

Этот не лопнется

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 16.03.2005 (Ср) 19:46

Пасиба!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 66

    TopList