Создание патчей
Автор
JoGi
, May 16 2004 15:08
Сообщений в теме: 11
#1
Отправлено 16 May 2004 - 15:08
Вопрос может быть не в тему, но кто знает хорошие, небольшие проги для создания патчей(прога сравнивает, допустим два exe-шника и создает патч). Возможно с адресом.
Позволил себе маленький опрос
Позволил себе маленький опрос
#2
Отправлено 16 May 2004 - 15:25
Вопрос по поводу AI немного бесполезен. Объясняю:
1. Обновление EXE'шников будет всегда осуществляться полностью. Но это будет происходить не очень часто. Пожет быть и будет делать патчики.
2. Первое время обновление будет производится целиком. Потом маленькие обновления в виде zip'ов. Я как то забыл, что RAR за бугром не в ходу... Поэтому надо будет скоро переползти на zip или RAR SFX
Ну а то, ка лучше, и так понятно. Патчи, конечно...
1. Обновление EXE'шников будет всегда осуществляться полностью. Но это будет происходить не очень часто. Пожет быть и будет делать патчики.
2. Первое время обновление будет производится целиком. Потом маленькие обновления в виде zip'ов. Я как то забыл, что RAR за бугром не в ходу... Поэтому надо будет скоро переползти на zip или RAR SFX
Ну а то, ка лучше, и так понятно. Патчи, конечно...
#3
Отправлено 16 May 2004 - 15:42
Лучше rarSFX - он сжимает лучше чем zip, причем можно даже просмотреть содержимое exe-архива - в Total/Win Commander нажать CTRL+PageDown, а так же оформить полноценный инсталлятор.
#4
Отправлено 16 May 2004 - 16:45
Ну ты новость открыл . А я почему по-твоему про RAR SFX писал?
#5
Отправлено 18 May 2004 - 08:07
Дык, а может сделать програмку LiveUpdate, ну или что то вэтом духе, чтоб юзер у себя запустил на компе, а это прога сама всё обновила.
#6
Отправлено 18 May 2004 - 11:16
FlyDragon - не зли меня... Я не думаю, что ты мне сможешь предложить что-то то, о чем я не думал
#7
Отправлено 18 May 2004 - 11:19
Я и не сомневаюсь, что ты об этоб думал. Но я просто высказал своё мнение.
#8
Отправлено 18 May 2004 - 12:47
нашёл следующее, всё компилиться на дельфях
Создается в Инете страничка с инфой о новых версиях. Она закачивается в буфер, из закачанного текста выделяется по заранее разработанному алгоритму нужная инфа. В результате узнаем, нужно ли закачивать новую версию. Иногда делают просто сравнение размеров, что не оч красиво, но удобно и просто.
Далее юзаем процу:
Старая прога, запустив патч отрубается. Новый экзек ждет секунды три, потом начинает расправляться с телом предка.
Нюансы и доработки - по вкусу
вот такие дела зарание сорри, если что не так, просто нашёл и решил всем сказать....
Создается в Инете страничка с инфой о новых версиях. Она закачивается в буфер, из закачанного текста выделяется по заранее разработанному алгоритму нужная инфа. В результате узнаем, нужно ли закачивать новую версию. Иногда делают просто сравнение размеров, что не оч красиво, но удобно и просто.
Далее юзаем процу:
CODE |
{:::::::::::::::: Проца скачивания файла ::::::::::::::::::} procedure Download(URLName, ToNewFile: string; DoExec: boolean); var f,r,d:cardinal; total:longint; f1buff:array[0..511] of char; h_Session, h_file: hInternet; dwindex,dwcodelen :dword; dwcode:array[1..20] of char; res : PChar; resul:boolean; begin try h_Session:= InternetOpen('Microsoft Internet Explorer', INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY, nil, nil, 0); if assigned(h_Session) = true then try h_file := InternetOpenUrl(h_Session,PChar(URLName),nil,0,INTERNET_FLAG_RELOAD,0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(h_file, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := PChar(@dwcode); resul:= (res = '200') or (res = '302'); if resul = false then begin // exit; // файлa нет или прервал файрволл end else // если файл для закачки успешно найден try dwCodeLen := 100; HttpQueryInfo(h_file, HTTP_QUERY_content_length, @dwcode, dwCodeLen,dwindex); res:= PChar(@dwcode);//получили размер с сервака // f:= CreateFile(PChar(ToNewFile),GENERIC_WRITE,0,nil,CREATE_ALWAYS,0,0); if f < 1 then exit;//невозможно создать файл total:= 0; repeat InternetReadFile(h_file, addr(f1buff), sizeof(f1buff), r); writefile(f, f1buff, r, d, nil); total:= total + integer(r); //что реально скачано в байтах until r <= 0; CloseHandle(f); // if (total = StrToInt(res)) and (DoExec = true) then // если все скачано и нужно запустить файл, то try WinExec(PChar(ToNewFile), SW_HIDE); // запускаем скачанный файл (инсталлятор новой версии) except end; else // что-то не скачалось begin // end; finally // of h_file := InternetOpenUrl(... InternetCloseHandle(h_file); end; except end else of assigned(h_Session) then InternetCloseHandle(h_Session); except end; MessageBox(0, 'Попытка закачать завершена','End', MB_OK); end; |
Старая прога, запустив патч отрубается. Новый экзек ждет секунды три, потом начинает расправляться с телом предка.
Нюансы и доработки - по вкусу
вот такие дела зарание сорри, если что не так, просто нашёл и решил всем сказать....
#9
Отправлено 18 May 2004 - 13:02
Ну, во-первых, файлов в игре будут сотни
А во-вторых, не каждому модемщику это будет удобно. Мне, например - совершенно неинтересно
А во-вторых, не каждому модемщику это будет удобно. Мне, например - совершенно неинтересно
#10
Отправлено 25 May 2004 - 17:20
Я думаю, что заморачиваться по этому поводу действительно не стоит.
Было бы вообще предоставить свободу юзеру - скачивать патч или скачивать полную версию.
Например если кто-то качает клиента впервые - зачем ему скачивать старую версию, потом патч... Свежая версия должна быть на сайте.
Было бы вообще предоставить свободу юзеру - скачивать патч или скачивать полную версию.
Например если кто-то качает клиента впервые - зачем ему скачивать старую версию, потом патч... Свежая версия должна быть на сайте.
#11
Отправлено 03 June 2004 - 10:27
Повторюсь:
Кто знает хорошие, небольшие проги для создания патчей(прога сравнивает, допустим два exe-шника и создает патч). Возможно с адресом
Кто знает хорошие, небольшие проги для создания патчей(прога сравнивает, допустим два exe-шника и создает патч). Возможно с адресом
#12 Guest_Jim DiGriz_*
Отправлено 31 March 2005 - 13:37
Всем прив от ромхакеров гы
зайдите на любой хакерский портал и там найдёте уйму патчеров, лично я посоветовл бы CodeFusion, ИМХО эт зе бест!
зайдите на любой хакерский портал и там найдёте уйму патчеров, лично я посоветовл бы CodeFusion, ИМХО эт зе бест!