Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
Размер архива в несжатом состоянии - 600 метров, при максимальном сжатии - 200. Как мне лучше поступить? Главная цель - быстрота распаковки в конечный каталог не забывая о сжатии »
Вариант №3 и только он!
3 Встроенный в SFX автономный архиватор »
а это как? даже не представляю как его встроить (
а это как? »
1 Сожмите все свои файлы (600 MB) в архив 1.7z. Сжатие лучше сделать максимальным и LZMA2 (попробуйте разные варианты той же Кнопкой).
2 Положите рядом c 1.7z автономный архиватор, например, 7zr.exe. Скачать можно здесь (http://sourceforge.net/projects/sevenzip/files/) (входит в состав 7z910_extra.7z)
3 Создайте из 1.7z и 7zr.exe архив 2.7z. Архив создайте "без сжатия".
4 В файле конфигурации не указывайте параметр InstallPath (распаковка будет во временную папку) и пропишите что-то вроде:RunProgram="hidcon:cmd /c If Exist \"%Windir%\\system32\\MarkerXP.m\" 7zr.exe x 2.7z -oc:\\soft -y>Nul" Выделен путь распаковки, подробнее про ключи архиватора прочитайте в справке, т.к., они тоже зависят от вашей задачи (нужно знать структуру вашего архива).
Остальное додумаете сами, т.к., данных из ваших п.п. 1...3 недостаточно для написание полного файла конфигурации.
5 Создайте SFX из архив 2.7z и написанного файла конфигурации. :)
gora, спасибо. буду пытаться
Oleg_Sch
28-02-2010, 03:47
к сожалению модуль 7zsd_140_1659_x64 совершенно не запускается на WinXP x64 SP2 eng
выдает this application failed to start because the application configuration is incorrect.
при этом на win 7 работает нормально »
Проблему воспроизвел, связана с отсутствием msvcr80.dll
Решается установкой Microsoft Visual C++ 2005 Redistributable Package (x64) (http://www.microsoft.com/downloads/details.aspx?familyid=90548130-4468-4BBC-9673-D6ACABD5D13B&displaylang=en)
Но я постараюсь как-нибудь избавиться от ее использования.
Уважаемый Oleg_Sch а возможна сделать в контекстное меню Windows например пункт "7-zip SFX" и там подменю как в Total Commander-е при работе с 7z Button 1. Извлечь компоненты определенные в .ini файле (4) 2. Просмотреть файл конфигураций ну и т.д., т.е. проще говоря встроить 7z Button в контекстное меню проводника Windows... надеюсь вы поняли мою идею... »
Идею я понял, и у многих витает она давно, но у меня нет времени на ее реализацию.
Oleg_Sch
23-03-2010, 08:24
Модули и справка обновлены.
1.4 alpha (сборка 1698) 22.03.10
# Использован исходный код 7-Zip версии 9.11 beta от 15 марта 2010 г.
* Исключена привязка к msvcr80.dll, ее наличие в системе более модулю не требуется (DrGrechkin:forum.oszone.net)
* Изменена логика передачи параметра из командной строки в первую команду запуска программ. Параметр передается в первую команду, которая реально может быть выполнена с учетом разрядности системы и примененных префиксов 'x64', 'x86'. (gora:forum.oszone.net)
1.4 alpha (сборка 1659) 12.02.10
+ Префиксы 'x64', 'x86' в конфигурационном файле
1.4 alpha (сборка 1643) 27.01.10
# Использован исходный код 7-Zip версии 9.10 beta от 22 декабря 2009 г.
# Проект полностью переведен на VS2005
* Сохранение позиций окна в ходе одного запуска SFX. Если выведенное окно перемещено пользователем, то все последующие окна выводятся в том месте, куда было перемещено предыдущее окно.
* Кнопка "Готово" в "собственном" диалоге 'FinishMessage' (7ZSD_LZMA_Dialogs.sfx) не меняет размер и положение при обратном отсчете времени
* Форматирование окна с информацией о версии SFX модуля и т.д. (ключ '-sfxversion')
+ Поддержка многоязыковых файлов конфигурации
+ Ключ '-sfxlang' и идентификатор языка в сигнатурах файла конфигурации
+ Индикатор процесса распаковки (ProgressBar) на значке SFX архива в панели задач для Windows 7
+ Флаг 8192 'GUIFlags' отключает индикатор процесса распаковки на значке SFX архива в панели задач для Windows 7
1.4 alpha (сборка 1599) 13.12.09
# Использован исходный код 7-Zip версии 9.09 beta от 12 декабря 2009 г.
* Некорректное извлечение сплитером архива и файла конфигурации (Stanner, gora:forum.oszone.net)
* Заменена иконка (некорректное отображение в Windows 7) (gora:forum.oszone.net)
* Некорректное определение языка в зависимости от региональных настроек системы (YuriPet:forum.oszone.net)
Oleg_Sch
02-04-2010, 10:33
Обновление
1.4 alpha (сборка 1704) 28.03.10
# Использован исходный код 7-Zip версии 9.12 beta от 24 марта 2010 г.
1.4 alpha (сборка 1698) 22.03.10
# Использован исходный код 7-Zip версии 9.11 beta от 15 марта 2010 г.
* Исключена привязка к msvcr80.dll, ее наличие в системе более модулю не требуется (DrGrechkin:forum.oszone.net)
* Изменена логика передачи параметра из командной строки в первую команду запуска программ. Параметр передается в первую команду, которая реально может быть выполнена с учетом разрядности системы и примененных префиксов 'x64', 'x86'. (gora:forum.oszone.net)
Habetdin
03-04-2010, 20:16
Oleg_Sch, 7z SFX Tools 1.4 alpha (сборка 1704) без файла конфигурации?
"Невозможно прочитать или отсутствует файл конфигурации SFX-архива"
MD5
4e4e9eee7b9bbf2f6264d05af686a61e *7zsd_tools_140_1704.exe (http://7zsfx.info/files/7zsd_tools_140_1704.exe)
Исправленный файл 7zsd_tools_140_1704.exe (http://gora.7zsfx.info/addons/7zsd_tools_140_1704.exe).
Oleg_Sch
04-04-2010, 06:50
Oleg_Sch, 7z SFX Tools 1.4 alpha (сборка 1704) без файла конфигурации?
"Невозможно прочитать или отсутствует файл конфигурации SFX-архива"
MD5
4e4e9eee7b9bbf2f6264d05af686a61e *7zsd_tools_140_1704.exe »
Исправленный файл 7zsd_tools_140_1704.exe. »
Исправленный теперь доступен по основной ссылке, т.е. http://7zsfx.info/files/7zsd_tools_140_1704.exe
Oleg_Sch
10-04-2010, 16:59
С учетом того, что самому мне заниматься справкой некогда и ей занимается один gora (http://forum.oszone.net/member.php?userid=8802) (за что ему отдельное "спасибо"), и, возможно, какие-то вопросы не расписаны так, как вам хотелось бы, решил возложить написание справки на общественность.
Благодаря http://7zsfx.info/ru/wiki/ , теперь каждый может поучаствовать в создании полноценной справки.
Т.к. для меня это первый wiki-проект, возможны баги. С радостью приму замечания знатоков Mediawiki.
Все вопросы по поводу функционала самой wiki лучше адресовать в почту или ПМ (или саму wiki в "Пожелания и замечания автору").
Сейчас wiki пуста, только пару тестовых страниц, очень надеюсь на ваше участие.
Помогите разобраться. Сделал конфиг
InstallPath="%ProgramFiles%"
SetEnvironment="PathInst1=%ProgramFiles%\\tri-progi\\TaskSwitchXP"
RunProgram="\"%PathInst1%\\TaskSwitchXP.exe\""
После запуска на установку выскакивает ошибка:
Произошла ошибка при выполнении ""C:\Program Files\ ri-progi\\TaskSwitchXP\\TaskSwitchXP.exe""
Не удается найти указанный файл.
\ ri-progi - не опечатка. именно так и выскакивает.
Dmitry_K
23-04-2010, 17:30
\ ri-progi - не опечатка. именно так и выскакивает. »
внимательно читаем справку:
ВАЖНО! Следующие двухсимвольные последовательности
в "значение_параметра" заменяются односимвольными:
\\ = \
\" = "
\n = перевод строки
\t = табуляция
Если надо указать обратный слеш (\) (например, в путях или тексте диалога),
НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра"
или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать
обратный слеш (\") (правило "лидирующего слеша").
Двухсимвольные последовательности \n и \t зависят от регистра.
Т.е., \N и \T НЕ будут заменяются односимвольными.
saym101, сообщите версию модуля, приведите файл конфигурации полностью.
В приведенном куске нет ошибок, но возможно они есть в отсутствующей части файла.
Ошибка может быть и в структуре самого архива, лучше выложить весь SFX архив и дать здесь ссылку на него.
Какая ОС?
Версия модуля - 1.4.0.1704
Вот конфиг
;!@Install@!UTF-8!
Title="Install Triprogi"
BeginPrompt="Prepare for install......"
ExtractTitle="Triprogi"
InstallPath="%ProgramFiles%"
SelfDelete="1"
SetEnvironment="PathInst1=%ProgramFiles%\\tri-progi\\TaskSwitchXP"
SetEnvironment="PathInst2=%ProgramFiles%\\tri-progi\\taskbar_shuffle"
SetEnvironment="PathInst3=%ProgramFiles%\\tri-progi\\WinRoll_RE"
SetEnvironment="PathInst4=%ProgramFiles%t\\ri-progi"
RunProgram="\"%PathInst1%\\TaskSwitchXP.exe\""
RunProgram="\"%PathInst2%\\taskbarshuffle.exe\""
RunProgram="\"%PathInst3%\\winroll.exe\""
RunProgram="\"%PathInst4%\\flashwheel-VistaFix.exe\""
Shortcut1="P,{%PathInst1%\\TaskSwitchXP.exe},{},{},{Замена Alt-Tab},{TaskSwitchXP Настройка},{%PathInst1%}"
GUIMode="2"
FinishMessage="All"
;!@InstallEnd@!
Разархивируется нормально как и положено, а вот с запуском проблема. Винь ХР
gora,
Прошу прощения, подсмотрел в Ваших аддонах структуру и попытался воспользоваться, но выскакивает ситуация, аналогичная saym101, только вот с этим конфигом:
;!@Install@!UTF-8!
SetEnvironment="Name=Portable WinRAR"
SetEnvironment="FullName=Portable WinRAR 3.93 Final"
SetEnvironment="nVer=393"
SetEnvironment="Vers=3.93 Final"
SetEnvironment="InstPath=C:\\ARC\\Portable WinRAR 3.93 Final (RUS)"
SetEnvironment="StartEXE=WRAR393.exe"
Title="Установка %Name% %Vers%"
BeginPrompt="Сейчас будет установлен %FullName%."
FinishMessage="%Name% %Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите..."
RunProgram="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
AutoInstall="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
RunProgram="x86:hidcon:cmd /c If Exist \"%%S\\WRAR393.reg\" REGEDIT /S \"%%S\\WRAR393.reg\""
AutoInstall0="x86:%StartEXE% /q INSTALLDIR=\"%InstPath%\""
Shortcut="Du,{%%T\\WinRARPortable.exe},{},{},{},{%FullName%}"
Shortcut1="Pu,{%%T\\WinRARPortable.exe},{},{Архиваторы\\%FullName%},{Run %FullName%},{%FullName%},{%InstPath%},{%InstPath%\\WinRARPortable.exe},{1}"
;!@InstallEnd@!
SetEnvironment="PathInst4=%ProgramFiles%t\\ri-progi" »
Так вот же оно! Что написали, то и получили.
2 Nun-Nun
У Вас другой случай. WRAR393.exe в вашем аддоне видимо оригинальный инсталлятор архиватора? Он не поддерживает ключи msi инсталляторов, которые Вы пытаетесь использовать.RunProgram="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\"" »
gora,
Нет, это не оригинальный инсталлятор архиватора. Этот exe-шник сделан с помощью кнопки 7-Zip в TC (версия кнопки - последняя).
Этот exe-шник сделан с помощью кнопки »
Так у Вас "матрешка" (один 7z SFX внутри другого)? Вот у Вас строка:SetEnvironment="StartEXE=WRAR393.exe" »
Т.е. в вашем SFX архиве лежит еще один SFX с именем WRAR393.exe? Даже в таком случае модуль не поймет ваших msi ключей, они для него ни чего не значат и они будут переданы в первую команду исполнения где и вызовут ошибку.
Вообще, формулировкавыскакивает ситуация, аналогичная saym101 »
в вашем случае некорректна, нужно приводить скриншот или точный текст из окна ошибки, т.к., текст явно другой, как и причина.
gora,
Та ошибка что указал не влияет на запуск. Вернее влияет но относится не к той что выскакивает. Произошла ошибка при выполнении ""C:\Program Files\ ri-progi\\TaskSwitchXP\\TaskSwitchXP.exe""
Не удается найти указанный файл. »
Даже после исправления все одно та же ошибка. Глотает букву и хоть что с ним делай.
Разобрался. Причина была в названии папки. Видимо %ProgramFiles%\\tri-progi кусок кода именно как \t воспринимался программой как \t = табуляция отсюда и проблема. После переименования заработало. Но это ведь так не должно быть? Или должно? Называйся как хочешь кроме папки где имя начинается на - t.
Но возникла другая проблема. Запускается только то что лежит в корне, а то что далее не хочет. Или через раз. И сам установщик висит в задачах.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.