Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
Dmitry_K
20-01-2009, 23:33
присоединяюсь к предыдущему посту: было бы намного удобнее отказаться от использования сторонних утилит или написания различных скриптов для создания ярлыков при различных вариантах автоматической установки...
p.s. надеемся и ждем ;)
Открою небольшую завесу, уже есть реализация касательно "своих" ярлыков, сейчас идёт отладка и причёсывание ;)
Здравствуйте!
Подскажите пож-та, как в модуле, например 7ZSD_LZMA.sfx, убрать проверку на сигнатуру 7z (0x37 0x7A) в архиве?
Возможно ли сделать в любом шестнадцатеричном редакторе путем замены одного байта условного перехода (например jn на jnz и т.п.)?
Подскажите…
Просто не хочу чтоб было видно что это архив (при выпадавшим меню, в свойстве SFX архива), а то заменяю сигнатура, а он ругается и не хочет распаковывать =(
А самому найти, как это зделать, нехватает знания да и времени =(
Oleg_Sch
03-02-2009, 17:26
Очередное обновление:
1.3 beta (сборка 1284) 02.02.09
* Масштабирование изображений в "подмененных" диалогах при больших шрифтах
* Некорректная работа ключа '-gmX' (gora:forum.oszone.net)
* Некорректный подсчет ширины диалога по длине заголовка
1.3 beta (сборка 1274) 23.01.09
* Переменные из командной строки не подставлялись в ярлыки (v12345:forum.oszone.net)
+ Команда 'DeleteX' в конфигурационном файле
+ Префиксы 'shcX', 'delX' в конфигурационном файле
1.3 beta (сборка 1272) 21.01.09
+ Команда 'ShortcutX' в конфигурационном файле (SAOPP:forum.oszone.net)
1.3 beta (сборка 1263) 12.01.09
# Использован исходный код 7-Zip версии 4.64 от 2 января 2009 г.
* Не добавлялись диалоги в модули (gora:forum.oszone.net)
1.3 beta (сборка 1240) 20.12.08
# Использован исходный код 7-Zip версии 4.62 от 2 декабря 2008 г.
* Не выводилось сообщение о "нехватке места на диске" (gora:forum.oszone.net)
* Некорректная работа ключа '-omX'
* Некорректное отображение пути распаковки (gora:forum.oszone.net)
Подробности - на сайте, в справке, здесь в виде "вопрос-ответ".
Жду ваших отзывов и замечаний.
[hr]
Здравствуйте!
Подскажите пож-та, как в модуле, например 7ZSD_LZMA.sfx, убрать проверку на сигнатуру 7z (0x37 0x7A) в архиве?
Возможно ли сделать в любом шестнадцатеричном редакторе путем замены одного байта условного перехода (например jn на jnz и т.п.)?
Подскажите…
Просто не хочу чтоб было видно что это архив (при выпадавшим меню, в свойстве SFX архива), а то заменяю сигнатура, а он ругается и не хочет распаковывать =(
»
К сожалению, простыми средствами это невозможно. Расположение байт, где осуществляется проверка, в каждой сборке разное. И даже мне, чтобы это узнать надо лезть в отладчик.
Помочь могу только одним - если Вы будете использовать каждый раз одну и ту же версию - для нее скажу. Но на каждую сборку я не намерен проделывать данную операцию, потому как у меня тоже
А самому найти, как это зделать, нехватает знания да и времени =(
но у меня - последнего
Oleg_Sch
1.3 beta (сборка 1284) 02.02.09
Если при распаковке нажать "Отмена" - появяется это:
http://pic.ipicture.ru/uploads/090204/0125xRO7fj.png
На 1.2.5 stable (сборка 1283) та же байда.
Oleg_Sch
04-02-2009, 04:35
Wilmots, принято к сведению
Andrew46
18-02-2009, 18:47
Извиняюсь, каков максимальный объем создаваемого файла?
А то ехе-шник создается и не запускается.
7z архив около 7Гб.
ехе-шник создается и не запускается. »
Если обычным 7-Zip, то максимальный размер ехе-файла 4 Гб, а вот про модифицированный модуль самому интересно, скорее всего тоже самое.
Да. У SFX модумя тоге ограничение в 4 ГБ. Но с помощю SFX можно создать многотомный архив, как и с оригатьным 7z.
каков максимальный объем создаваемого файла? »Очевидно более 4 Гб просто не будут запускаться. По-моему, это ограничение 32х системы. Но уже более 700 Мб будут проблемы с отображением иконки файла. Об этом можно почитать ответ Oleg_Sch здесь (http://www.msfn.org/board/index.php?showtopic=101552&view=findpost&p=719428). Как вариант можете использовать многотомный (http://forum.oszone.net/post-970472.html#post970472) 7zSFX архив.
jameszero
21-02-2009, 16:22
Oleg_Sch
Вопрос по новой команде - 'DeleteX'
В аддоне DrWeb (http://forum.oszone.net/thread-71187.html) используется один вариант 'Delete', но его отработка происходит только для RunProgram и AutoInstall, а при использовании AutoInstall1 или AutoInstall2 файлы, предназначенные для удаления, остаются.
Баг или фича?
Конфиг:
;!@Install@!UTF-8!
Title="Установка DrWeb"
InstallPath="%ProgramFiles%\\DrWeb"
BeginPrompt="Сейчас будет произведена полная
установка антивируса DrWeb.
Нажав 'OK', удерживая клавишу [Shift],
установите только антивирусный Scanner."
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
RunProgram="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
RunProgram="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
RunProgram="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
RunProgram="rundll32.exe advpack,LaunchINFSection DrWeb.inf,DefaultInstall,0"
AutoInstall="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall="rundll32.exe advpack,LaunchINFSection DrWeb.inf,ScannerOnly,0"
AutoInstall="hidcon:cmd /c del DrwSpCnt.dll /q"
AutoInstall="hidcon:cmd /c del en-spider.chm /q"
AutoInstall="hidcon:cmd /c del ru-spider.chm /q"
AutoInstall="hidcon:cmd /c del spider.sys /q"
AutoInstall="hidcon:cmd /c del spidercpl.exe /q"
AutoInstall="hidcon:cmd /c del spidercpl.xml /q"
AutoInstall="hidcon:cmd /c del spiderml.exe /q"
AutoInstall="hidcon:cmd /c del spidernt.exe /q"
AutoInstall="hidcon:cmd /c del spiderui.exe /q"
AutoInstall="hidcon:cmd /c del spml_set.exe /q"
AutoInstall="hidcon:cmd /c del drwvr_oe.exe /q"
AutoInstall="hidcon:cmd /c del vrcpp.dll /q"
AutoInstall1="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall1="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall1="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
AutoInstall1="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall1="rundll32.exe advpack,LaunchINFSection DrWeb.inf,DrWeb"
AutoInstall2="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall2="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall2="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
AutoInstall2="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall2="rundll32.exe advpack,LaunchINFSection DrWeb.inf,ScannerSpiderOnly,0"
AutoInstall2="hidcon:cmd /c del DrwSpCnt.dll /q"
AutoInstall2="hidcon:cmd /c del spiderml.exe /q"
AutoInstall2="hidcon:cmd /c del spml_set.exe /q"
AutoInstall2="hidcon:cmd /c del drwvr_oe.exe /q"
AutoInstall2="hidcon:cmd /c del vrcpp.dll /q"
Delete="%%T\\DRWEBSP.DLL"
Delete="%%T\\DrWeb.inf"
OverwriteMode="8"
;!@InstallEnd@!
Модуль 1.3 beta (сборка 1284) 02.02.09
Просто допишите AutoInstall2=Delete и AutoInstall1=Delete. При выборе варианта автоустановки, модуль вызывает только те команды, которые начинаются на AutoInstall.
Вопрос о совместном использовании 7zSD SFX и парольных (шифрованных) архивов, в т.ч. с шифрованными заголовками
Ключи 7z: -p и -mhe=on
Как должен реагировать 7zSD на такой архив?
У меня реагирует негативно фразой "Неподдерживаемый тип"; то же самое, но совсем без пароля работает.
Стандартный 7z.sfx реагирует нормально (запрашивает пароль).
Предлагаемая модель на тот случай, если из этого будут делать feature request:
1) Корректно обнаружить архив, в т.ч. с шифрованным заголовком
2) Запросить пароль, используя новые макросы PasswordPrompt/PasswordTitle (сходные с BeginPrompt/ExtractPathTitle) и кнопки OK/Cancel
3) Далее действовать также, как и раньше
Применение фичи:
1) Простейшее пакетирование интеллектуальной собственности (знаю, слАбо, тем не менее, пользуюсь)
2) Зашивание паролей в самораспаковывающиеся пакеты (знаю, плохо, сам пользоваться не собираюсь)
x) то же самое работает в WinRAR SFX
Благодарю за прочтение.
PS
Спасибо Олегу Щербакову за практичную реализацию аддона.
Oleg_Sch
25-02-2009, 14:41
Просто допишите AutoInstall2=Delete и AutoInstall1=Delete. При выборе варианта автоустановки, модуль вызывает только те команды, которые начинаются на AutoInstall. »
Неправда Ваша. Я даже не могу предположить, что Вы имели в виду, но "простые" Delete не отработают.В аддоне DrWeb используется один вариант 'Delete', но его отработка происходит только для RunProgram и AutoInstall, а при использовании AutoInstall1 или AutoInstall2 файлы, предназначенные для удаления, остаются.
Баг или фича? »
Баг. Устранено.
1.3 beta (сборка 1284) 02.02.09
Если при распаковке нажать "Отмена" - появяется это: »
Устранено. В версии 1.2.6 тоже.Как должен реагировать 7zSD на такой архив?
У меня реагирует негативно фразой "Неподдерживаемый тип"; »
Правильно реагирует, модуль не поддерживает шифрование.Стандартный 7z.sfx реагирует нормально (запрашивает пароль). »
Но не тот, который "для установок" ;)
Пока могу только сказать, что этот "feature request" уже давно, но будет ли он реализован и, если будет, то когда - ответить не могу :(
На днях буду выкладывать обновленную версию, если у кого есть желание протестировать сегодняшнюю, можете поглядеть здесь http://7zsfx.info/fortest/
такой вопрос, можно ли добавить в меню, которое появляется при нажатии на правую кнопку мыши SFX-архива, какой нибудь дополнительный пункт?
если вопрос не понятен скажите посторонюсь объяснить получше
Dmitry_K
02-03-2009, 11:40
такой вопрос, можно ли добавить в меню, которое появляется при нажатии на правую кнопку мыши SFX-архива, какой нибудь дополнительный пункт? »
можно, только т.к. sfx-архив - это exe-файл, соответственно этот пункт меню нужно делать для exe-файлов (и отображаться соответственно он будет для всех exe-файлов). Создаем reg-файл и запускаем его:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell\7ZSFX]
@="Твой пункт меню"
[HKEY_CLASSES_ROOT\exefile\shell\7ZSFX\command]
@="твоя команда"
Oleg_Sch
02-03-2009, 15:39
Обновлено
1.3 beta (сборка 1307) 25.02.09
# Использован исходный код 7-Zip версии 4.65 от 3 февраля 2009 г.
* Ошибка при нажатии кнопки "Отмена" в ходе распаковки (Wilmots:forum.oszone.net)
* Некорректная работа простых параметров 'Delete' и 'Shortcut' при литерных автоустановках (jameszero, gora:forum.oszone.net)
1.3 beta (сборка 1284) 02.02.09
* Масштабирование изображений в "подмененных" диалогах при больших шрифтах
* Некорректная работа ключа '-gmX' (gora:forum.oszone.net)
* Некорректный подсчет ширины диалога по длине заголовка
1.3 beta (сборка 1274) 23.01.09
* Переменные из командной строки не подставлялись в ярлыки (v12345:forum.oszone.net)
+ Параметр 'DeleteX' в конфигурационном файле
+ Префиксы 'shcX', 'delX' в конфигурационном файле
1.3 beta (сборка 1272) 21.01.09
+ Параметр 'ShortcutX' в конфигурационном файле (SAOPP:forum.oszone.net)
Справка и сайт - все благодарности gora
Dmitry_K, для всех не подходить, т.к. мне надо сделать типа установить adobe flash плеер
sLiDeR-X
03-03-2009, 07:59
Скажите, а почему удалили 2004 диалог из бета версии модуля?
Oleg_Sch
03-03-2009, 13:22
Скажите, а почему удалили 2004 диалог из бета версии модуля? »
В результате экспериментов и проверок просто забыл вернуть :(
Т.к. не считаю это существенной ошибкой (Вы его и сами создать можете с этим ID), да и сам 7zsd_lzma_dialogs именно как пример идет, просто положил версию модуля с включенным диалогом http://7zsfx.info/files/7zsd_lzma_dialogs_130_1307.7z
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.