Модифицированный SFX модуль 7-Zip'а для установок

Ответить
 • Просмотры: 22
Аватара пользователя
gora

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение gora »

Цитата vladshishkin:



Это как? Приведите пример. Впервые слышу.
Модифицированный SFX модуль 7-Zip'а для установок




В справке есть целый раздел с примерами: Секции файла конфигурации. Прочтите. Изображение
Аватара пользователя
Leon3721

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение Leon3721 »

Спасибо Gora, очень помог.



Побуду попрошайкой Изображение на последок ещё спрошу один вопрос.

Делал недавно с помощью 7z модулей распаковщик с запуском.

Сделал две версии.





Первая версия:

[spoiler]Внешний архив при запуске в BeginPrompt спрашивает выбрать версию (два варианта - через ОК и Shift+ОК), выбираем - извлекается 4 файла и в зависимости от выбора запускается файл 1-й или 2-й файл.





Внешний архив с sfx - конфигурация:[/spoiler]

[spoiler];!@Install@!UTF-8!

Title="Программка"

BeginPrompt=" Для продолжения:



• Нажмите [Да] \t\t\t\t- для для запуска установщика версии 1.



• Зажмите [Shift] и нажмите [Да] \t- для для запуска установщика версии 2.

"

GUIMode="1"

GUIFlags="2+4+8+16+256"

RunProgram="%%T\\v1.exe"

AutoInstall="%%T\\v2.exe"

;!@InstallEnd@![/spoiler]






Понятное дело файлы 1 и 2 идентичны кроме версии в коментариях.

Они при запуске просят выбрать вариант - портабельный запуск (из временной папки) или распаковка с созданием ярлыков.

При портативном запуске сообщается пароль 3 или 4 файлу и запускается 3 или 4 файл

При установке выводит окно выбора пути далее после выбора сообщается пароль + пусть установки в 3 или 4 файлы (от 1-го к 3-му файлу или от 2-го к 4-му файлу).





Конфигурация файлов 1 и 2

[spoiler];!@Install@!UTF-8!

InstallPath="%ProgramFiles%\\Программа"

Title="Программа"

BeginPrompt="Программа версия Х.Х



Для продолжения:

• Нажмите [Да] для установки.

• Зажмите [Shift] и нажмите [Да] для запуска.

\t(Портативный вариант)

"

ExtractPathText="Выберите папку для установки:"

GUIFlags="2+4+8+16+128+256"

ExtractPathTitle="Куда установить ?"

ExtractTitle="Установка"

ErrorTitle="Ошибка !"

WarningTitle="Внимание !"

PasswordTitle="Внимание !"

PasswordText="Введите пароль к установщику:"

ExtractCancelText="Вы не хотите устанавливать Программа ?"

RunProgram="%%S\\Прога_Версия.exe -pПаролище -ai1 -InstallPath=\"%%T\""

AutoInstall="%%S\\Прога_Версия.exe -pПаролище"

;!@InstallEnd@![/spoiler]






Третий и четвертый файлы запаролены и настроены на извлечение во временную папку по-умолчанию и на AutoInstallX (-ai1)





Конфигурация файлов 3 и 4

[spoiler];!@Install@!UTF-8!

InstallPath="%TEMP%\\Программа"

ExtractDialogText="Распаковываем ресурсы..."

GUIMode="1"

GUIFlags="2+4+8+16"

ExtractTitle="Программа"

ErrorTitle="Ошибка !"

WarningTitle="Внимание !"

PasswordTitle="Внимание !"

PasswordText="Установщик запаролен ! \nВведите пароль:"

RunProgram="del1:Программа.exe -параметр"

AutoInstall1="del0:"

Delete="%TEMP%\\Программа"

Shortcut1="D,{%%T\\Программа.exe},{},{},{Коментарий ярлыка.},{Программа},{%%T},{},{}"

Shortcut1="P,{%%T\\Программа.exe},{},{Программа},{Коментарий ярлыка},{Программа},{%%T},{},{}"

;!@InstallEnd@![/spoiler]




При портативке прога извлекается и запускается, после закрытия все временные файлы (1,2,3,4 и программа.exe) стираются.

При установке файл 3(или 4) извлекается по заданному пути файлом 1(или 2) и создаёт ярлыки, при этом отключено удаление файлов программы. По завершению стираются файлы (1,2,3 и 4) из временной папки.










Вторая версия:

[spoiler]Основной файл ничего особенного: распаковка и запуск заданного, по завершении удаление распакованного.



Конфиг основного файла[/spoiler]

[spoiler];!@Install@!UTF-8!

InstallPath="%TEMP%\\Программа"

GUIMode="1"

ExtractTitle=" Подготовка ресурсов..."

RunProgram="Autorun.exe"

Delete="%TEMP%\\Программа"

;!@InstallEnd@![/spoiler]






Авторан сделан в виде окна с 4-мя вариантами выбора (варианты версия и установка/потратив).

Авторан запускает файл с 7z sfx-ом 1-й или 2-й версии + отдаёт команду с параметрами запуска.



Варианты:

[spoiler]Портативка: -pПаролище

Установка: -pПаролище -gf+128 -InstallPath="%ProgramFiles%\\Программа"



При установке добавляется флаг окна выбора пути и задаётся путь по-умолчанию вместо %temp%\Программа.

Варианты Портативка1 и Портативка2 аналогичны. Так же и Установка1 и Установка2.[/spoiler]






В файлах 1-й и 2-й версии конфиг с простым временным извлечением и запуском.





Конфигурация 1-й и 2-й версии:

[spoiler];!@Install@!UTF-8!

Title="Программа"

ExtractPathText="Установщик Программа Версия. \nВыберите папку для установки:"

ExtractDialogText="Распаковываем ресурсы..."

GUIFlags="2+4+8+16"

MiscFlags="4"

ExtractPathTitle="Куда установить ?"

ExtractTitle="Программа"

ErrorTitle="Ошибка !"

WarningTitle="Внимание !"

PasswordTitle="Внимание !"

PasswordText="Установщик запаролен ! \nВведите пароль:"

RunProgram="Программа.exe"

;!@InstallEnd@![/spoiler]






Понятное дело этот вариант без ярлыков.










В первом установка многоэтапна (выбери версию, выбери запуск или установка, выбери путь), а во втором минус в авторане (размер 2.7 мб + конфиг авторана 0.5+ мб).

Может подскажите где взять окошко с выбором вариантов (не автораном) ? Или может есть модули с несколькими кнопками вариант-установки, а в конфиге нечто типа Install1=... Install2=...

Я понимаю, что это уже не распаковщик будет, а инсталлер Изображение Но может что-то существует описанное мной.

PS: В 7z больше всего радует степень сжатия и простота составления конфигов по-этому я так вцепился в 7z SFX.
Аватара пользователя
gora

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение gora »

vladshishkin,


Цитата gora:



2 Извлекается только первая секция конфига (если их несколько)
Модифицированный SFX модуль 7-Zip'а для установок




Так и не работает.
MultiBoot USB - Мультизагрузочная флешка v11.12.10 Final & Windows XPE/7PE
с двумя секциями.



ИМХО, зачем создавать велосипед когда он уже есть и работает ? SfxSplit.exe (58Кб) из состава
кнопки
все это умеет.
Аватара пользователя
magsood

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение magsood »

Цитата Ж.Д.А.Л.К.Е.Р.:



SfxSplit.exe (58Кб) из состава кнопки все это умеет.
Модифицированный SFX модуль 7-Zip'а для установок




Это утилита не из состава кнопки. Автор утилиты - Oleg_Sch. Просто автор кнопки использует её без указания авторства.

Кстати SfxSplit.exe может также извлекать комментарии и из rar-sfx
Аватара пользователя
SergeyZV

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение SergeyZV »

Цитата ya158:



Это утилита не из состава кнопки.
Модифицированный SFX модуль 7-Zip'а для установок





Цитата ya158:



Просто автор кнопки использует её без указания авторства.
Модифицированный SFX модуль 7-Zip'а для установок




Ну ни как нельзя без вранья?

1 Эта утилита из состава Кнопки и отдельно ни где ранее не выкладывалась автором.

2 Читайте в
справке Кнопки
: Изображение
Цитата:



В работе кнопки используются:

...

утилиты Олега Щербакова (для извлечения составных частей из SFX архива, для извлечения и замены иконок, "копирайтов" и многого другого)

...



Ну неужели не стыдно так врать? Изображение
Аватара пользователя
Ж.Д.А.Л.К.Е.Р.

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение Ж.Д.А.Л.К.Е.Р. »

Потому что метод сжатия примененный для создания архива не поддерживается данным модулем, он только для LZMA2.

Используя 7zsd_LZMA2.sfx я сжимаю так:



Код:

Код: Выделить всё

"%ProgramFiles%\7-Zip\7z.exe" a FiraDisk.7z -r .\Temp\* -mmt2 -m0=BCJ2 -m1=LZMA2:d48m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3

Число 48 это размер словаря, можно его увеличить и получить большее сжатие, но тогда потребуется больше ОЗУ для распаковки. Подбирай себе оптимальное, на сколько я помню при 48 ставились программы на WinDows Xp с 128Мб ОЗУ без ошибок о нехватки памяти.
Аватара пользователя
sNc-DAntES

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение sNc-DAntES »

ya158, gora, да ладно вам, оставьте Изображение

Утилита действительно писалась специально для кнопки, но подразумевала и автономную работу.

Основной функционал сделан по заказу gora,

И да простит меня gora, я не ограничиваю её использование

А вот по подробностям функционала (она и правда может потрошить не только 7z sfx), здесь он (gora), знает (помнит) гораздо больше меня. Я на вскидку сейчас не вспомню подробности, надо в исходники лезть.
Аватара пользователя
Ж.Д.А.Л.К.Е.Р.

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение Ж.Д.А.Л.К.Е.Р. »

В именах файлов модулей указан метод сжатия который они поддерживают. 7-Zip раньше по умолчанию создавал архивы в LZMA, потом с какой-то версии дефолтным стал LZMA2. Я так понял у тебя архив создался в LZMA, а модуль поддерживает только LZMA2, поэтому и ошибка.



1. Лучше сжатие.

2. Из справки 7-zip.chm, описание ключа -m:


Цитата:



b{C1}[s{S1}]:{C2}[s{S2}]

Связывает выходной поток S1 в кодере C1 с входным потоком S2 в кодере C2. Если номер потока не будет определен, то будет использоваться поток с номером 0.



Обычно кодер имеет один входной поток и один выходной поток. В 7z некоторые кодеры могут иметь множественные потоки ввода и вывода.



Например, BCJ2 кодер имеет один входной поток и четыре выходных потока.
Аватара пользователя
sNc-DAntES

Re: Модифицированный SFX модуль 7-Zip'а для установок

Сообщение sNc-DAntES »

Нет, справку я читал. Я не совсем понимаю, что это за потоки и зачем их связывать? По поводу первого пункта понятно.
Ответить

Вернуться в «Автоматическая установка Windows 2000/XP/2003»