Автор: 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;
если что то непятно пиши, чем смогу помогу.