IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Delphi. Создание проги с архивом во чреве, Своя программа установки
Siberian GRemlin
Oct 10 2007, 04:14
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 537
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Как засунуть DLL себе во внутрь ЕХЕ мы уже разбирали. А вот как засунуть себе в ЕХЕ, допустим архив RAR, чтобы потом его извлечь (используя unrar.dll). Т.е. нужен самораспаковывающийся архив + который выполняет ещё потом действия с файлами, реестром и т.д. и т.п. -- можно конечно сделать стандартный и впихать в него свой ЕХЕ, который будет выполнять действия с файлами после распаковки, но это не катит, т.к. любой может архив вскрыть и достать содержимое, да и к тому же иногда нужно залесть в реестр перед установкой и проверить есть ли на компе та или иная игра, а потом уже предложить пользователю изменить\указать путь к ней и т.д. и т.п., т.е. в идеале на выходе нужно получить ЕХЕ, внутри у которой unrar.dll (проблем вроде нет с этим) и запароленный RAR архив (не более 20 Мб) и извлекать из него прямо из ЕХЕ, без выдирания его во временную папку... самараспаковывающиеся RAR архивы как-то же спокойно открываются как обычный RAR...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Oct 10 2007, 04:19
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



Если UNRAR.DLL не поддерживает распаковку из памяти (типа потоков Streams и т.д.) - то, видимо, без создания временного файла - никак. Во всяком случае у меня идей нет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
jTommy
Oct 10 2007, 16:11
Сообщение #3


Наблюдающий
***

Группа: CTPAX-X
Сообщений: 197
Регистрация: 4-February 08
Из: деревня Москва
Пользователь №: 6
Спасибо сказали: 19 раз(а)



Да, unrar.dll работает только с файлами.

Есть три решения:
  1. В SFX архивах RAR есть скриптовый язык. Вроде не хилый. Я писал скрипты только для DOS версии Про WIN версию ничего не скажу, но думаю, что работа с реестром там должна быть.
  2. Обратить внимание на API 7-Zip.
  3. Или использовать zlib, ucl или еще какую-нить библиотеку. Единственная проблема (во всяком случае для меня), как узнать где начинаются наши данные и как сделать так, чтобы они не загружались в память при запуске инсталлятора.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Grom PE
Oct 10 2007, 16:48
Сообщение #4


Advanced Member
***

Группа: CTPAX-X
Сообщений: 84
Регистрация: 7-February 08
Из: i@grompe.org.ru
Пользователь №: 3,120
Спасибо сказали: 95 раз(а)



Вообще unrar.dll должен воспринимать любой правильный exe с дописанным к нему в конец rar'ом как архив.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 1st November 2024 - 05:30