BFAF 7zip Creator - создание SFX архивов с расширенными настройками
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) P.S. Это только бета версия - естественно, все ошибки писать сюда на форум, или мне на сайт P.P.S На Windows 7 может быть проблема с обновлением ресурсов программы - пожалуйста проверьте, есть ли такая проблема? |
Можете сделать, так что бы при выборе иконки приложения открывалась папка с иконками которая находиться в папке BFAF 7zip Creator?
|
Без проблем.
|
Medic84,
Можешь добавить функции: - В "Свойства EXE" при выборе иконки добавь ещё расширение .exe - Возможность создания диалогов |
Цитата:
Цитата:
|
|
Цитата:
|
Цитата:
Или здесь упор делается на замене ресурсов (иконка, "коприрайты")? |
тут, как я понимаю, акцент делается на возможность выполнения Autoit-кода до распаковки архива, хотя и для этих нужд проще использовать полноценные инсталяторы - и компактней и быстрее
|
Цитата:
Предположим у нас есть 7z SFX - BigSFX.exe размером в 50МБ. Нужно выполнить ряд команд ДО и ПОСЛЕ распаковки. Пишем конфиг (тут только его исполнительная часть): Код:
; команды ДО запуска основного SFX Чем такой вариант не устраивает? |
gora, разница большая - в действия до распаковки можно засунуть проверки, которые оборвут выполнение скрипта до распаковки файла в %TEMP%
|
Цитата:
Кстати о переменной %TEMP%... Большинство 7z SFX здесь используются в качестве аддонов, устанавливаемых на Т13. Так вот на Т13 переменной %TEMP% еще не существует. |
gora, ок, сделую другую папку. Windows/Temp на Т13 существует?
Основная цель конечно на создание более сложных распаковщиков чем просто 7zSFX + изменение ресурсов файлов (иконки описание и тп) автоматически. |
Medic84, наличие папок я не проверял, меня интересовали только переменные для возможности их использования в аддонах на Т13.
|
Цитата:
Цитата:
На этом этапе Default User\Temp уже есть. Можно её как-то использовать ? Насколько понимаю установка переменной %TEMP% происходит на третьем, графическом этапе, при добавлении учётных записей... |
Цитата:
|
gora, ткните меня носом, пожалуйста, если Вы (або кто другой) куда-либо выкладывали сводную информацию о существовании тех или иных переменных окружения на разных этапах установки.
|
|
Интересно, если на Т-13 существует \Default User\Local Settings\Temp - почему бы её не использовать для этих целей ?
Мне кажется это проще, чем создавать другие папки и удалять их и чем использовать дополнительные аддоны ? |
Цитата:
|
shao, для T-13 и наживую используйте %WINDIR%\Temp
|
Цитата:
Цитата:
"Береженого бог бережет" как говаривала монашка... ;) |
Цитата:
|
Цитата:
|
Что то мы отвлеклись от темы =) Пожеланий больше никаких не будет?
|
Цитата:
1 Как будет решаться вопрос с интерактивным выбором, который может быть предусмотрен в исходном SFX? (Нажать "ОК" или <Shift>+"ОК") Для какого из этих вариантов будут работать ДО и ПОСЛЕ команды? Для каждого? Только для определенного? Какого? 2 Как будет решаться вопрос с поливариантным SFX с множеством литерных ключей aiX. Команды ДО и ПОСЛЕ будут едиными для всех или тоже литерными? Цитата:
2 7z SFX по своей природе "прозрачны" и практически любой может проверить его содержимое, сценарий (конфиг) установки и, в случае необходимости, внести свои изменения и в первое и во второе. AutoIt оболочка лишает простого пользователя этой возможности. Теперь собственно предложения. Предусмотреть фиксированный ключ для оболочки, например /info, который бы выводил следующую информацию: - полный конфиг исходного SFX - секцию "копирайтов" исходного SFX - информацию об использованном в исходном SFX модуле - содержание архива исходного SFX (например, в формате команды Dir) - содержание добавленных ДО и ПОСЛЕ команд Предусмотреть фиксированный ключ для оболочки, например /extract, который бы извлекал исходный SFX из оболочки. |
gora, любой сценарий AutoIt можно декомпилировать (это справедливо, по крайней мере, на текущий момент) и посмотреть на его исходный код.
Впрочем, насчёт непрозрачности я с Вами вполне согласен: мало кто станет специально для этого разыскивать инструмент для декомпиляции и пробовать смотреть на исходный код (который ещё нужно уметь понимать). |
Цитата:
Цитата:
Цитата:
Iska, новый 3.3.6.1 скрипт я вскрыть не смог. Так что исходный код посмотреть достаточно сложно. |
Medic84, отписался в личку.
|
Хм.. Господа, рпошу прощения, что не в тему, но я не вижу ссылок на скачивание. Ссылок нет, или мне нужны посты?
|
На картинку нажимайте под текстом "Прямая ссылка:" или "Зеркало:"
|
В общем переписал я программу с нуля. Только теперь для нормальной работы требуется установленный .NET Framework 2.0 (у кого его сейчас нет).
Цитата:
А вот над /info можно подумать. Наверное сделаю, что бы /info записывало всю информацию в файл. Без файла сложно будет правильно вывести информацию. |
Цитата:
1 Оболочка (обертка для 7z SFX) осталась на AutoIT или Цитата:
Я думаю, Вы перебарщиваете в этом вопросе. Цитата:
Меня бы очень удовлетворил вариант отдельного, не встроенного в программу, редактора. Можно ли на это расчитывать? По редактору - могу поспособствовать в качестве "бета-авометра" (если такая нужда у Вас возникнет). |
Оболочка для самого sfx осталась на AutoIT, а вот сама программа написана на C#.
Насчет ключа я Вас понял. Хорошо, это можно. Я просто думал что нужно получить исходный код оболочки. Ну а насчет хорошего GUI, я этим еще хотел давно заняться, только раньше одолевала лень. Я как напишу первую рабочую версию, я по ЛС с Вами свяжусь. Думаю сделать как отдельный рабочий проект так и библиотеку для программы. |
Время: 05:27. |
Время: 05:27.
© OSzone.net 2001-