BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Аватара пользователя
Medic84

BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение Medic84 »

BeForeAFter 7zip Creator beta 2



Изображение

Здравствуйте коллеги. На днях нужно было создать самораспаковывающийся архив с хорошим оформлением и т.п. но нужно было сделать так что бы SFX производил некоторые действия ДО распаковки архива. Для модуля это оказалось невыполнимым заданием. И мне пришла в голову идея написать программу, которая расширяет возможности модифицированного модуля.

Решение было найдено через скриптовой язык программирования AutoIT.



Суть такова:

Создается exe файл, внутри которого находится собранный SFX до и после которого запускаются требуемые команды. Сам SFX переносится в папку Temp откуда и запускается(после исполнения - удаляется)



Возможности программы:

# Создание "матрешек" для SFX файлов

# Простое создание SFX (если выбран файл расширения 7z и если список заданий пуст)

# Изменение иконки и информации EXE сразу (пока только для "матрешек" см. TODO)

# Сохранение и загрузка сценариев



Плюсы:

+ Исполнение команд до и после распаковки

+ Изменение иконки и информации EXE сразу

+ Мощный инструмент автоматизации - если постараться, можно очень хорошие написать распаковщики (со сплешами и прочим)



Минусы:

- В момент работы программы требуется на диске в 2-3 раза больше необходимого места(в зависимости от сжатия)



TODO: (предлагайте - дополним)

# В ближайшее время написать свой редактор SFX config файлов и добавить его в программу

# Для не "матрешек" сделать изменение ресурсов файла через Resource Hacker

# Перемещение элементов в списке



Используемые ресурсы:

Модифицированный модуль 7z SFX (
www.7zsfx.info/ru/
)

Aut2Exe (
www.autoitscript.com
)

AutoITWrapper (
http://www.autoitscript.com/autoit3/scite/download
)




Скриншоты Скриншоты













Ссылки на скачивание Ссылки на скачивание




Cсылка
|
Зеркало







История версий История версий






Код:

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

Версия 1.1.1.0
- Настройки папок вывода файлов
- Ассоциация .b7c
- Созданы ключи /extract и /info для оболочек
- CMD ключ /open для программы (открытие конфигурации)
- Мелкие правки кода
Версия 1.1.0.0
- Программа переписана с 0 на другом языке программирования (более мощном)
- Слишком много изменений что бы описывать их в истории.
Версия 1.0.2.0
- Поправлены иконки в программе
- Исправления кода программы
Версия 1.0.0.0
- Первая публичная версия








P.S. Это только бета версия - естественно, все ошибки писать сюда на форум, или мне на
сайт


P.P.S На Windows 7 может быть проблема с обновлением ресурсов программы - пожалуйста проверьте, есть ли такая проблема?
Аватара пользователя
Lubitel Softa

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение Lubitel Softa »

На картинку нажимайте под текстом "Прямая ссылка:" или "Зеркало:"
Аватара пользователя
stalinit078

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение stalinit078 »

Можете сделать, так что бы при выборе иконки приложения открывалась папка с иконками которая находиться в папке BFAF 7zip Creator?
Аватара пользователя
ZverBY

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение ZverBY »

Цитата ZverBY:



- В "Свойства EXE" при выборе иконки добавь ещё расширение .exe
BFAF 7zip Creator - создание SFX архивов с расширенными настройками




Уже можно. Смотреть в форме добавления "Другой синтаксис" - Для этого вам понадобится некоторые знания в языке AutoIT


Цитата ZverBY:



- В "Свойства EXE" при выборе иконки добавь ещё расширение .exe
BFAF 7zip Creator - создание SFX архивов с расширенными настройками




Сборщик(написанный не мной) не поддерживает иконки из exe архива.
Аватара пользователя
ZverBY

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение ZverBY »

Цитата ZverBY:



Без значков почему-то у меня
BFAF 7zip Creator - создание SFX архивов с расширенными настройками




Почему то это набдюдается только в Windows XP. Займусь багой...
Аватара пользователя
Medic84

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение Medic84 »

Цитата Medic84:



Суть такова:

Создается exe файл, внутри которого находится собранный SFX до и после которого запускаются требуемые команды. Сам SFX переносится в папку Temp откуда и запускается(после исполнения - удаляется)
BFAF 7zip Creator - создание SFX архивов с расширенными настройками




Как я понял, это "матрешка". Так почему-бы для этого не использовать тот же модуль? Один 7z SFX внутри другого 7z SFX, сам делал такие для собственных нужд. А если 7z SFX небольшой, то можно обойтись и одним прописав в конфиге рекурсивный запуск с нужными ключами и параметрами.

Или здесь упор делается на замене ресурсов (иконка, "коприрайты")?
Аватара пользователя
gora

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение gora »

тут, как я понимаю, акцент делается на возможность выполнения Autoit-кода до распаковки архива, хотя и для этих нужд проще использовать полноценные инсталяторы - и компактней и быстрее
Аватара пользователя
XXXler

Re: BFAF 7zip Creator - создание SFX архивов с расширенными настройками

Сообщение XXXler »

Цитата XXXler:



акцент делается на возможность выполнения Autoit-кода до распаковки архива
BFAF 7zip Creator - создание SFX архивов с расширенными настройками




И в чем разница? AutoIt все равно сначала распакует из себя внутренний SFX и это та же распаковка, и по времени, и по месту на диске.

Предположим у нас есть 7z SFX - BigSFX.exe размером в 50МБ. Нужно выполнить ряд команд ДО и ПОСЛЕ распаковки. Пишем конфиг (тут только его исполнительная часть):

Код:

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

; команды ДО запуска основного SFX
RunProgram="Command1 Before"
RunProgram="Command2 Before"
RunProgram="Command3 Before"
; запуск основного SFX с нужными ключами
RunProgram="BigSFX.exe -ai -fm0"
; команды ПОСЛЕ запуска основного SFX
RunProgram="Command1 After"
RunProgram="Command2 After"
RunProgram="Command3 After"

Затем упаковываем BigSFX.exe в 7z архив методом Copy (без сжатия), для уменьшения времени распаковки "матрешки", и создаем из него и приведенного выше конфига, новый - 7z SFX "матрешку".

Чем такой вариант не устраивает?
Ответить

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