Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
Oleg_Sch
12-05-2015, 13:05
Как обещалось: 1.6.0.3574 (http://svn.7zsfx.info/listing.php?repname=7zSfxMod&path=%2Fbranches%2F1.6.0-develop%2Fbin%2F)
1.6 develop (сборка 3574) 11.05.15
* При предупреждениях иконка в панели задач имеет желтый фон
+ Поддержка многотомности включена по умолчанию
+ Поддержка дельта-фильтра включена по умолчанию в модулях LZMA, LZMA2, LZMA_Dialogs и All
1.6 develop (сборка 3564) 01.05.15
# Использован исходный код 7-Zip версии 9.38 beta от 3 января 2015 г.
# Некоторые изменения, связанные с новыми исходниками 7-Zip
* Исправлена обработка исключения 0x0EEDFADE из автоматически загружаемых Delphi DLL
Если замечаний не будет, через пару-тройку дней обновлю шапку. Насчет сайта обещать пока не буду, тут если только gora (http://forum.oszone.net/member.php?userid=8802) поможет ;)
Oleg_Sch
12-05-2015, 13:26
pokkk, gora (http://forum.oszone.net/member.php?userid=8802) меня поправляет, что я не прав, 7zsdrc.exe не сохраняет диалоги. Сам писАл её довольно давно, уже не помню всего функционала. Тогда остаются редакторы ресурсов а-ля ResourceHacker. Общий принцип - экспортируем ресурсы из 7zsd_Dialogs, потом импортируем в нужный модуль.
В любом случае, встраивать диалоги в модули я не буду, не вижу смысла, они первоначально задумывались как "для тех кто хочет большего и не боится поработать".
7zsd_Dialogs только пример, дальше "обработать напильником"
Неправда Ваша. У меня на машинке всего 4Гб, но это не мешает мне распаковывать 10-15Гб архивы. »
Я пользуюсь модулем lzma с диалогами. И вот на днях пришлось делать 4.5gb архив. При распаковке выдало ошибку (уже не помню какую, вроде "недостаточно памяти") Пришлось воспользоваться архиватором HaoZip, там 7z sfx модуль норм справился.
Как обещалось: 1.6.0.3574 » Огромное спасибо, сейчас отдохну после работы и протестирую :)
Напряг пару отмерших извилин и скопировал таки диалоги для lzma2.
Держите кому нужно.
и самый главный недостаток sfx в том что он не может распаковывать архив который больше чем оперативки на пк. »
Неправда Ваша. » Проверил на http://rupic.org/images/23ptp.png и на lzma2.
Модули выбрал правильные. Сделал sfx,
и вот что пишет http://rupic.org/images/22yuy.png
Если создать архив с теми же параметрами и конфигурацией, но архив меньше чем 4gb то всё нормально.
Я думаю 4gb лимит, из-за того что у меня оперативка 4gb.
П.С. скрины свежие. тест делал на новом архиваторе и новых модулях с диалогами.
Блин. что не так. по чему у вас работает, а у меня нет :sorry:
Oleg_Sch
13-05-2015, 01:11
pokkk, немного не так :)
4Гб - лимит Windows на размер исполняемого файла. Если не ошибаюсь, от разрядности не зависит. Просто Windows с её 4Гб адресным пространством (на самом деле даже меньше) не может запустить файл. Многотомность Вам поможет. Или любым архиватором, который поддерживает данный метод сжатия
Victor_Man
13-05-2015, 11:26
Что-то не могу понять, как определить, откуда был вызван модуль SFX (имеется в виду средствами SFX-модуля, а не другими методами).
Параметра такого я что-то не нашел...может, я чего не понимаю и есть другие способы?
Пример:
SFX модуль здесь C:\333\ProgramsSFX.exe (вызывает Programs.exe с передачей параметра)
Я нахожусь в D:\111\, там есть файл 222.txt
Набираю C:\333\ProgramsSFX.exe 222.txt - файл программой Programs.exe не находится ("файл 222.txt не найден").
Если вызвать C:\333\Programs.exe 222.txt - то никаких проблем.
как определить, откуда был вызван модуль SFX »
Откуда запущен или где находится при запуске? Это разные вещи.
Месторасположение SFX можно определит по переменной%%S - полный путь к файлу SFX архива
Ваш пример мне ни чего не разъяснил. Я так и не понял что за файл Programs.exe и как он запускается. И вообще не понятно почему SFX находится в одной папке, txt файл в другой, а в качестве параметра передается только имя txt файла без пути его расположения. Ну да ладно, сами разберетесь.
Victor_Man
13-05-2015, 14:36
Цитата gora:
Ваш пример мне ни чего не разъяснил. Я так и не понял что за файл Programs.exe и как он запускается. Откуда запущен или где находится при запуске? И вообще не понятно почему SFX находится в одной папке, txt файл в другой, а в качестве параметра передается только имя txt файла без пути его расположения. Ну да ладно, сами разберетесь. »
Хм...а мне казалось, что довольно понятно все.
Конечно, откуда запущен т.е. где находится программа, обратившаяся к SFX.
TXT - обычный файл, с которым может работать программа Programs.exe и открывать его из командной строки.
Хочется, чтобы ProgramsSFX.exe могла передать ссылку на этот файл в Programs.exe и чтобы он открылся в ней.
Короче - вот пример с NotepadSFX.exe:
http://www26.zippyshare.com/v/ZEOcWYKD/file.html
;!@Install@!UTF-8!
InstallPath="%TEMP%\\Notepad_Start"
GUIMode="2"
OverwriteMode="10"
RunProgram="%%T\\notepad.exe"
Delete="%%T"
;!@InstallEnd@!
В 111\ два командных файла, запускаем...
1_SRC.cmd - Notepad отрывает файл 111\222.txt
2_SFX.cmd - Notepad отрывает файл %InstallPath%\222.txt (а хотелось, чтобы открылся 111\222.txt)
В командной строке в RunProgram передается только имя файла, поэтому открывается файл %InstallPath%\222.txt
Для примера есть 111\3_SFX_dp.CMD - как можно решить вопрос через .cmd, но хотелось, чтобы это было решено в SFX.
Вот так, как решено в варианте с лаунчером 111\4_SFX_launcher.CMD
Исходный текст лаунчера (FASM) прилагается.
Если не ошибаюсь, от разрядности не зависит. Просто Windows с её 4Гб адресным пространством (на самом деле даже меньше) не может запустить файл. » У меня win 8.1 x64.
Пробовал даже модуль 7zsd_LZMA_Dialogs_x64.sfx, такая же беда.
И архиватор haozip создаёт рабочие 7z sfx архивы с lzma и lzma весом больше 4gb. :) Многотомность Вам поможет. » тоже вариант, только ума не приложу как прикрутить туда sfx с диалогами.
Valerkan
14-05-2015, 00:24
Напряг пару отмерших извилин и скопировал таки диалоги для lzma2.
Держите кому нужно. »
Нужно. A 7zsd_LZMA2_Dialogs_x64.sfx можете сделать? У меня не получается.
Valerkan, Держите. Прикрепил в архиве оба модуля Lzma2.
И сделал пару скриншотов как я делал.
И вопросик, архивы sfx Lzma2 x64 только для 64 битных систем? на х86 не будут работать?
архиватор haozip создаёт рабочие 7z sfx архивы с lzma и lzma весом больше 4gb »
Ваше утверждение у меня вызывает сомнение.
1 Пришлось установить haozip и перепроверить его (Ваше утверждение). Полученный в haozip SFX размером более 4Гб отказался запускаться.
2 Создание SFX размером более 4Гб в WinRAR заканчивается сообщением G:\ImgDsk.exe: Слишком большой SFX-архив. Windows не может запускать исполняемые файлы размером более 4 ГБ.
Если Вы будете продолжать настаивать на Вашем утверждении, то попрошу представить доказательства в виде ссылки на Ваш "рабочий" SFX размером более 4ГБ.
gora,Я извиняюсь :sorry:
Я забыл что разбил архив на части.
http://rupic.org/images/36.png
В памяти засело что всё таки создал большой sfx и написал ерунду.
Долго мучился что бы создать именно под 7z, так как занимает меньше веса на выходе.
Valerkan
15-05-2015, 03:48
И вопросик, архивы sfx Lzma2 x64 только для 64 битных систем? на х86 не будут работать? »
Да, архивы с модулем x64 запускаются только на 64 битных системах, на х86 не работают.
Архивы с модулем x86 работают и на х86 и на 64 битных системах.
AlexM22204
17-05-2015, 19:23
Как обещалось: 1.6.0.3574 »
Может и глупый вопрос, а как скачать? :(
а как скачать? »
Перейдите по ссылке, а там кликните по надписи 7zsd_160_3574.7z
Если замечаний не будет, через пару-тройку дней обновлю шапку.
замечаний вроде не было, может пора обновить?
+ Версия 1.6.0 Develop, сборка 2712 (30 декабря 2012 г.) »
эта версия уже довольно долго испытывалась и вроде к ней замечаний тоже нет. Может стоит её перевести в категорию Stable? :)
привет подскадите можно ли прописать в диалоге 7zsd_LZMA_Dialogs.sfx звуки на кнопки ?
Fakir183
17-09-2015, 22:31
не открывается 1.6.0.3574 (http://svn.7zsfx.info/listing.php?repname=7zSfxMod&path=%2Fbranches%2F1.6.0-develop%2Fbin%2F)
502 Bad Gateway
nginx/1.4.2
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.