Картинка блога

7zip-256x256Задача следующая: Создать один файл, который распакует и запустит программу. При этом сделать это бесплатно и не нарушая авторских прав.

Во все коммерческие архиваторы это встроено в программу и можно сделать через оконный интерфейс. Мы пойдем другим путем, и будем использовать для этого 7zip.Для начала работы потребуется два файла, первый, это сам 7-zip, а второй — это дополнения 7-zip. Последние версии можно скачать с SourceForge. На момент написания статьи, файла назывались: 7z907.exe и 7z907_extra.7z.

Устанавливаем 7zip, и распаковываем дополнения туда-же.

В отдельную папку кладем три файла:

Config.txt

;!@Install@!UTF-8!
Title="MoskvaFM 1.0"
BeginPrompt="Установить MoskvaFM 1.0?"
RunProgram="MoskvaFMRipperSetup.exe"
;!@InstallEnd@!

Файл должен быть сохранен в кодировке UTF8, иначе ничего не получится.

Меняем/убираем/удаляем параметры: Title, BeginPrompt, RunProgram.
Archive.bat

"C:\Program Files\7-Zip\7zr" a archive.7z MoskvaFMRipperSetup.* -m0=BCJ2 -m1=LZMA:d25:fb255 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 -mx
copy /b "C:\Program Files\7-Zip\7zSD.sfx" + config.txt + archive.7z archive.exe
del archive.7z
pause

И как вы должны были уже догадаться — Archive.7z, с нужными файлами.

Все готово для запуска archive.bat. На выходе, в той-же папке, должен появится archive.exe.

Немного информации: Для создания архива использовался 7zSD.sfx. Это заголовок exe файла, который мы склеили с файлом конфигурации и архивом. Таких SFX в 7zip несколько для разных нужд.

В сети есть SFX модификация созданная русским разработчиком. Судя по реценции, она позволяет:

  • указывать желаемый путь распаковки содержимого архива
  • использовать как абсолютные, так и относительные пути
  • выбирать между интерактивной, «тихой» и скрытой распаковкой
  • контролировать внешний вид диалоговых окон и текста в них
  • конфигурировать различные варианты установки запакованных приложений, впоследствии выбирая нужный сценарий ключом командной строки
  • конфигурировать установку нескольких (до 62) разных запакованных приложений, впоследствии выбирая нужные приложения и последовательность их установки ключом командной строки
  • просто распаковать архив в желаемую папку
  • запускать после распаковки последовательно несколько файлов (.exe, .msi, .reg и т.п.) и использовать его для установки приложений
  • заменить, применяемые ранее для установки, .bat или .cmd файлы и исключить необходимость использования «StartX.exe», «msistub.exe» и подобных утилит
  • создавать ярлыки к программам и назначать значки для этих ярлыков по своему усмотрению
  • использовать архивы с разными методами сжатия (LZMA, LZMA2, Deflate, PPMd), которые предлагает архиватор 7-Zip
  • удалять как отдельные файлы, после их использования, так и сам SFX архив
  • и многое другое…

  Источник: http://7zsfx.info/ru/

Похожие статьи

    Нет похожих статей.

2 комментария в “Само-распаковывающийся установщик на 7zip”

  1. Интересно придумано)

  2. Не плохая задумка, а самое главное, без траты средств и нарушения авторских прав)