Автор: ekemov
Дата сообщения: 28.10.2006 14:22
		killerbeanjeka 
 У меня обновление происходит через инсталятор, мне просто много нужно за раз обновлять данных, а у отчётов нет понятия версия.  
 Содержимое deanery.inf 
 [update] 
 newversion=1,1,0,0      ;новая версия обновления 
 localversion=deanery.exe ;что обновляем 
 descr=Новая версия готова к загрузке ;описание 
 [files] 
 count=1 ;количество обновляемых файлов 
 [file1] 
 url=http://mtd.bspi.ru/mtd/laboratoria/deanery_update.exe ;адрес для обновления 
 descr=Обновление программы, версия 1.1.0.0 ;описание 
 filesize=4563263 ;размер файла 
 [Application] 
 appupdate=1 ;сколько обновляем 
 appname=deanery.exe ;что обновляем 
 appcomps=deanery_update.exe ;обновляемы файл скаченный с сервера 
  
  
 global_update:='http://www.rabbit-company.ru/deanery/update/deanery.inf'; 
 WebUpdate1.URL:=global_update;//задаю адрес для обновления 
 Я перед показом главной формы проверяю обновление 
 procedure Tglavnay_forma.FormShow(Sender: TObject); 
 begin 
 if Length(global_update)>5 then begin //проверяю нужно ли обновление 
                          obnovlenie:='1'; //то что началось обновление 
                          WebUpdate1.DoUpdate; // проверяю обновление 
                          if WebUpdate1.NewVersionInfo>WebUpdate1.CurVersionInfo 
                          then close; //это если отказались от обновления.т.к. обновление может 
                                          //критичным 
                                                   end; 
 end; 
  
 procedure Tglavnay_forma.WebUpdate1CustomValidate(Sender: TObject; Msg, 
   Param: string; var Allow: Boolean); 
 begin 
 if (Allow=true) AND (obnovlenie='1') AND //проверяем запуск обновления если оно нужно(WebUpdate1.NewVersionInfo>WebUpdate1.CurVersionInfo) then begin //проверка версии 
                                                obnovlenie:='2'; //это то что обновление началось(вдруг  
                                                                        //если юзер сбрость обновление и тогда 
                                                                       //нужно будет закрыть программу  
                                                webupdatewizard1.Execute ; //запускаем мастер 
                                                                                         // обновления 
                                           end; 
 end; 
  
 если что то непятно пиши, чем смогу помогу.