Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Вниз

обновление программы самой программой   Найти похожие ветки 

 
Intel   (2009-11-19 17:03) [0]

Вот проверил я версию, переименовал, удалил, скачал новую, запускаю WinExec(программа), вышел

Почему так не работает?


 
clickmaker ©   (2009-11-19 17:04) [1]

что переименовал, что удалил, куда вышел?


 
Intel   (2009-11-19 17:09) [2]

program aaa
var
 флаг, что стоит новая версия: логическая;
begin
 если мой файл старше, чем лежащий на сервере, то свой я переименовыю,  скачиваю новую версию, старую удаляю, ставлю флаг, что новая версия стоит.

если не новая версия стоит, то инициализация приложения.....

иначе WinExec(aaa, 0)
end;


 
oldman ©   (2009-11-19 17:27) [3]


> то свой я переименовыю,  скачиваю новую версию, старую удаляю


Надеюсь, переименовываешь и удаляешь не открытое в данный момент приложение?
:)))


 
Омлет ©   (2009-11-19 17:29) [4]

Код покажи.


 
Intel   (2009-11-19 17:31) [5]


> oldman ©   (19.11.09 17:27) [3]

именно


> Омлет ©   (19.11.09 17:29) [4]

один в один как написано выше


 
Омлет ©   (2009-11-19 17:34) [6]

Покажи код.


 
oldman ©   (2009-11-19 17:35) [7]

Я раньше догадывался, а теперь знаю точно, почему Microsoft не очень любит Intel
:)


 
Intel   (2009-11-19 17:37) [8]

var
 iFileName: string;
 iFileNameBak: string;
 iFileNameR: string;
 iLDate, iRDate: TDateTime;
 IsUpdate: Boolean;
 sr: TSearchRec;
begin
 IsUpdate := False;
 iFileName := Application.ExeName;
 iFileNameBak := iFileName + ".bak";
 if FileExists(iFileNameBak) then
   DeleteFile(iFileNameBak);
 if FileExists(iFileNameBak + "1") then
   DeleteFile(iFileNameBak + "1");
 iFileNameR:="\\server\" + ExtractFileName(iFileName);
 //- îáíîâëåíèå èñïîëíÿåìîãî ôàéëà
 if FileExists(iFileNameR) then
 begin
   iLDate:=FileDateToDateTime(FileAge(iFileName) );
   iRDate:=FileDateToDateTime(FileAge(iFileNameR) );
   if iLDate < iRDate then
     if CopyFile(PChar(iFileNameR), PChar(iFileNameBak), False) then
       if MoveFile(PChar(iFileName), PChar(iFileNameBak + "1") ) then
         if MoveFile(PChar(iFileNameBak), PChar(iFileName) ) then
           if MoveFile(PChar(iFileNameBak + "1"), PChar(iFileNameBak) ) then
             IsUpdate := True;

 if not IsUpdate then
 begin
   Application.Initialize;
   .....
 end
   else WinExec(PChar(ExtractFileName(iFileName)), 0);


 
stas ©   (2009-11-19 17:38) [9]

Intel   (19.11.09 17:03)
тебе нужен лоадер.
1. запускается
2. проверяет наличие твоец прогораммы
3. сверяет версии
4. обновляет
5. запускает
6. выгружается


 
Intel   (2009-11-19 17:39) [10]

end пропустил


 
Intel   (2009-11-19 17:42) [11]


> stas ©   (19.11.09 17:38) [9]

сделал я лоадер:

.....
end
  else WinExec(PChar(loader.bat), 0);

в котором просто написано
exec proga.exe


 
clickmaker ©   (2009-11-19 17:44) [12]

> exec proga.exe

а что, уже есть такая команда - exec?
в какой ОС?

Впрочем, дела это не меняет.


 
Омлет ©   (2009-11-19 17:49) [13]

> MoveFile(PChar(iFileName), PChar(iFileNameBak + "1") )

Ты меняешь имя запущенной программы?


 
oldman ©   (2009-11-19 17:55) [14]


> Омлет ©   (19.11.09 17:49) [13]
> Ты меняешь имя запущенной программы?


Мало того, под "Programm.exe" (после обновления) в кеше одно, а на диске другое.

Ну, я уже в  [7] отметил


 
Intel   (2009-11-19 17:57) [15]


> clickmaker ©   (19.11.09 17:44) [12]

start - пойдет?


> Омлет ©   (19.11.09 17:49) [13]

ня, можить им поверишь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1138


 
Intel   (2009-11-19 17:59) [16]


> oldman ©   (19.11.09 17:55) [14]

ну хоть кто-то ответил. Спасибо.


 
Омлет ©   (2009-11-19 18:01) [17]

> [15] Intel   (19.11.09 17:57)

Ну так там другой код! )))


 
Intel   (2009-11-19 18:03) [18]


> Омлет ©   (19.11.09 18:01) [17]

серьезно?
правда?
да ну?
уверен?
не врешь?


 
oldman ©   (2009-11-19 18:05) [19]


> Intel   (19.11.09 17:59) [16]


Может проще так:

если есть обновление, запустить программу обновления, закрыться
 программа обновления: если основная не закрыта, ждать закрытия
                                   иначе: обновить, запустить, закрыться


 
Омлет ©   (2009-11-19 18:07) [20]

> серьезно?

Думаешь Sleep-ы там просто так понатыканы?


 
oldman ©   (2009-11-19 18:13) [21]


> Intel   (19.11.09 18:03) [18]
> серьезно?


http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=1138

обсуждение статьи читал?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
2-1260118363
inkakas
2009-12-06 19:52
2010.01.24
Error creating form: line too long on line 74092


8-1202531881
dreamse
2008-02-09 07:38
2010.01.24
Вопрос про достижение графического эффекта.


15-1258446035
_
2009-11-17 11:20
2010.01.24
Довлоадеры. Какой выбрать?


2-1258886196
DW
2009-11-22 13:36
2010.01.24
Метод Free


2-1259642819
d@nger
2009-12-01 07:46
2010.01.24
помогите написать SQL запрос (Firebird)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский