Архиватор WinRAR: все секреты SFX-архивов. Создаем самораспаковывающийся архив

Самораспаковывающийся (SFX, от англ. SelF-eXtracting) архив - это архив, к которому присоединен исполняемый программный модуль, позволяющий извлекать файлы самостоятельно без привлечения программы-архиватора. SFX-архив особенно удобен в тех случаях, когда его нужно передать кому-либо, но нет уверенности, что у адресата есть нужный архиватор.

Для создания нового SFX-архива необходимо при формировании архива включить опцию «Создать SFX-архив» в окне диалога ввода имени и параметров архива (Рис.5).

Если нужно создать SFX-архив из уже существующего обычного архива, то следует войти в архив и вызвать команду «Преобразовать архив(ы) в SFX» в меню «Операции» (либо нажать кнопку «SFX»).

При выполнении команды «Преобразовать архив(ы) в SFX» появляется окно, в котором предлагается выбрать тип SFX-модуля. По умолчанию используется модуль Default.sfx, связанный с русскоязычный Windows - интерфейсом. Остальные SFX-модули применяются лишь в редких особых случаях.

Извлечение файлов из SFX-архива происходит автоматически простым запуском файла архива в среде Windows (двойным щелчком, как обычной программы). Папка назначения извлекаемых файлов указывается в специальном окне, появляющемся после запуска файла архива. Имя папки можно ввести вручную или выбрать в дереве папок. Если введенная папка назначения не существует, она будет заранее создана перед началом извлечения.

Наряду с этим способом WinRAR позволяет извлекать файлы из SFX-архива по обычной схеме, как из обычного архива. Если нет желания запускать на выполнение SFX-архив (например, при отсутствии гарантий, что в нем нет вирусов), то можно в обычном режиме просмотреть этот архив или извлечь из него нужные файлы.

Упражнение. В текущей папке создайте SFX -архив WinRAR с именем MyArch 3 и поместите в него какую-либо группу файлов. Выйдите из WinRAR . Не входя в WinRAR , распакуйте архив MyArch 3 и поместите его содержимое в новой папке Files 3.

Многотомный архив

Многотомный архив - это архив, разделенный на несколько отдельных частей. Он используется при размещении архива большого размера на нескольких дискетах или иных сменных носителях. Тома - это части архива, каждая из них может находиться в виде отдельного файла на отдельном носителе. Тома поддерживаются только в формате RAR, создание ZIP-томов в WinRAR невозможно.

Для получения многотомного архива необходимо при создании архива ввести какое-либо конкретное значение в поле«Разделить на тома размером (в байтах)» в окне диалога ввода имени и параметров архива (Рис.5).

По умолчанию размер тома вводится в байтах, его также можно задать в килобайтах, в тысячах байт, в мегабайтах и в миллионах байт. Для этого нужно после числового значения поставить один из следующих буквенных идентификаторов (все буквы латинские):

k – килобайты (множитель 1024);

m – мегабайты (1 Мбайт = 1048576 байт);

M – миллионы байт (множитель 1 000 000);

g – гигабайты (1 Гбайт = 1073741824 байт);

G – миллиарды байт (множитель 1 000 000 000).

Размер тома можно также выбрать из связанного с указанным полем выпадающего списка, куда помещаются ранее использовавшиеся значения. Если требуется максимально заполнить свободное пространство на сменных дисках, следует выбрать в списке пункт «Автоопределение».

Созданные тома архива получают имена вида: ‘имя_архива.partN.rar’, где N – порядковый номер тома.

Многотомные архивы могут быть также самораспаковывающимися и непрерывными. Первый SFX-том имеет расширение, отличное от « .rar», например, для SFX-томов DOS используется расширение « .exe».

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

Для распаковки многотомного архива необходимо начинать извлечение с первого тома. Если тома находятся на несменном носителе (например, на жёстком диске), то сначала необходимо переписать все тома в одну папку.

Упражнение. Выберите какой-либо файл (желательно – большого объема) и с помощью команды «Показать информацию» оцените возможный общий объем N архива этого файла. Создайте многотомный архив для этого файла, указав в качестве размера тома величину N /3.

Нередко при работе над автоматической установкой приложений возникает необходимость создать бесключевой самораспаковывающийся архив (в дальнейшем я буду использовать "SFX", так короче). Как правило, SFX архивы позволяют значительно сэкономить место на CD. Например, если приложение не требует установки, то его можно поместить в $OEM$\Progs и оно будет автоматически скопировано в Program Files. Однако, аналогичной цели можно достичь запаковав приложение в SFX, который распакует содержимое в нужную папку.

Область применения SFX не ограничивается приложениями, не требующими установки. Можно без проблем упаковать приложение, запакованное одним из распространенных инсталляторов и сконфигурировать SFX таким образом, что после распаковки будет запущена установка приложения с нужными ключами. Еще одним преимуществом SFX архивов является то, что в некоторых случаях они дают возможность не просто автоматизировать, но и полностью скрыть процесс и прогресс инсталляции от конечного пользователя. Для примера рассматривается упаковка Adobe Reader 7.0. Несмотря на то, что с относительно недавних пор приложение можно устанавливать с соответствующими ключами без особых проблем, только SFX позволяет установить приложение абсолютно незаметно.

Подготовка к созданию SFX

Вне зависимости от того, что вы будете использовать для создания SFX, различий в подготовке не будет. Если вы просто хотите запаковать папку с файлами, то никакой подготовки не требуется. А вот приложения иногда приходится распаковывать. В случае с Adobe Reader 7 используется Install Shield с Basic MSI, причем все это еще и запаковано в некий FEAD Optimizer. Надо запустить исполняемый файл Adobe, дождаться пока FEAD Optimizer закончит распаковку и найти папку с файлом Adobe Reader 7.0.msi (она может быть в %ProgramFiles%\Adobe, например). Теперь нужно запустить файл setup.exe с ключом /a для создания административной установки. В появившемся диалоговом окне нужно указать папку, в которой по окончании будут находиться все нужные нам файлы. Теперь можно переименовать Adobe Reader 7.0.msi в, скажем, Adobe7.msi и приступать к упаковке в SFX архив. Мы рассмотрим создание SFX архивов при помощи

WinRAR

Программа написана специально для решения задач по созданию полноценного SFX архива и обладает большими возможностями для создания бесключевых SFX. С ее помощью можно создать как незаметный (silent) инсталлятор, так и инсталлятор с графическим интерфейсом.

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

  • Поддержка всех (ну или практически всех) переменных системных/пользовательских директорий
  • Выбор типа сжатия (LZMA - данный тип компрессии применяется в архиваторе 7-Zip), BZIP2, ZLIB
  • Создание ярлыков для файлов
  • Импорт REG-файлов после распаковки файлов
  • Выполнение приложений до и после распаковки ваших файлов
  • Выполнение операций в реестре (запись/удаление параметров, удаление разделов)
  • Выполнение файловых операций (копирование/удаление файлов, создание/удаление директорий)
  • Возможность создать программу удаления (с удобным добавлением информации в апплет "Установка и удаление программ")
  • Возможность установить свою иконку на SFX архив
  • Возможность добавить информацию о версии файла
  • Возможность выполнить собственные функции, написанные на языке NSIS перед и после распаковки файлов
  • Возможность перед распаковкой ваших файлов проверить наличие установленного ПО и выполнить определённые действия, если вас не устравивает результат проверки (например если версия ПО ниже необходимой, можно прекратить установку и/или показать сообщение пользователю)
  • Возможность распаковать ваши файлы в каталог, который указан в каком-либо ключе реестра
  • Регистрация библиотек при распаковке файлов (и возможность отменить регистрацию при удалении приложения)
  • Возможность при запуске/завершении показать пользователю информационное сообщение
  • Вы можете создавать распаковщик (практически уже пакет инсталлятора) с графическим интерфейсом. Вам предлагается использовать 2 типа интерфейса на выбор
  • Возможность показа вашего изображения перед запуском процесса распаковки файлов
  • При создании проекта с графическим интерфейсом, вы можете добавить отображение изображения на задний план


Самораспаковывающийся архив – это архив с файлами, который не требует для извлечения своего содержимого никаких посторонних программ. Это делает его более удобным для передачи информации между пользователями.

Значок самораспаковывающегося архива может быть разным, поскольку он зависит от программы-архиватора, в котором вы будут его создавать, а также от её версии.

Процесс создания
Для того, чтобы создать самораспаковывающийся архив необходимо проделать все те же операции, что и при . Для примера будем использовать архиватор WinRAR.

Выбираем папку или файлы, которые нужно заархивировать. Щелкаем по ним правой кнопкой мыши и в контекстном меню нажимаем «WinRAR »→ «Add to archive » (Добавить в архив).

Затем появится окно задания параметров для будущего архива. Вот тут-то и самое главное. Чтобы ваш архив был самораспаковывающимся необходимо установить флажок напротив «Create SFX archive » (Создать SFX архив).


Как вы видите на рисунке выше после установки этого флажка, рядом с названием будущего архива, стоит расширение.exe, о котором мы и говорили ранее в статье.

После того, как вы установите все параметры для архива – нажмите кнопку «ОК ». Начнется процесс создания непосредственно самораспаковывающегося архива. Поскольку я использую более новую версию архиватора WinRAR, то у меня значок его выглядит так, но опять таки не переживайте его у вас ярлык выглядит по-другому.

Установка параметров
Для задания параметров самораспаковывающегося архива существует специальная кнопка «SFX options » (Параметры SFX). Она находится во вкладке «Advanced » (Дополнительно).


Затем откроется окно, в котором вы можете изменить иконку архива, указать место распаковки, добавить лицензионные данные (особенно полезно, если вы при помощи самораспаковывающегося архива продаете свою программу, скрипт, плагин и т.д.), модули и многие другие параметры.

Процесс извлечения содержимого
Для того чтобы извлечь содержимое самораспаковывающегося архива необходимо дважды щелкнуть по нему левой кнопкой мыши. В открывшемся окне, используя кнопку «Browse », указываем место распаковки.


После чего жмем на кнопку «Extract » (Извлечь). Процесс извлечения файлов начнется в автоматическом режиме.


Такой метод архивирования файлов и их извлечения прост и не требует каких-либо особых знаний и умений.

Наверняка многим из вас хоть раз в жизни попадался архив с расширением.exe, не rar и даже не zip, а именно exe. Вся прелесть данного архива заключается в том, что он самораспаковывающийся и не требует установки дополнительных программ. Многие думают, что для того чтобы создать подобного рода архив, требуются какие-то специфические знания либо программы, но смею вас уверить, что это не так. Создаются ехе архивы при помощи одного из нескольких самых популярных архиваторов: WinRar и WinZip.

У вас на компьютере наверняка установлен один из двух этих архиваторов, поэтому смело можете сразу приступать к практике. Если же вообще никакого архиватора нет, то можете смело установить 7-zip, ведь он бесплатный и свободно распространяется на просторах Интернета. С этого архиватора мы и начнем.

И так, готовим папку с файлами, которую необходимо заархивировать и кликаем по ней правой кнопкой мыши. Находим такой пункт, как 7-Zip

У нас выскакивает еще одно подменю, из которого мы должны выбрать пункт «Добавить к архиву…»

Открывается у нас окошко, ищем раздел «Опции» , в опциях пункт «Создать SFX-архив» устанавливаем напротив него птичку. Теперь обращаем внимание на самое верхнее поле, где название нашего будущего архива. У нас добавилось расширение ехе. Кстати название архива можно менять. Также можно указать место, в которое его необходимо сохранить. В принципе можете поиграться и с остальными опциями, но на тип архива они не влияют. Можете поставить максимальный уровень сжатия, чтобы размер архива был как можно меньше.

Теперь можно нажать на кнопку «ОК» .

Вот такой файлик у меня получился на рабочем столе:

Теперь давайте разберемся, как создать точно такой же архив, но уже при помощи WinRar.

Точно так же кликаем правой кнопкой мыши по папке и выбираем пункт «Добавить в архив» :

В открывшемся окошке во вкладке «Общие» необходимо в разделе «Параметры архивации» поставить птичку напротив пункта «Создать SFX-архив» . Ставим какой-нибудь метод сжатия. Я выбрал «Хороший» .

Жмем на кнопку «ОК» .

Получился вот такой архив:

Вот мы и рассмотрели несколько способов о том, как создать самораспаковывающийся exe архив .

А также смотрим видео по теме:

Оценить статью:

И снова здравствуйте, дорогие читатели. Не так давно я рассказывал вам об и сегодня мы вновь вернемся к этой теме. На этот раз речь пойдет о многотомных и SFX-архивах.

Начну с архивов SFX. Итак, что же это такое?

Аббревиатура SFX происходит от англоязычного наименования self-extracting archive и представляет собой ни что иное, как самораспаковывающийся архив, который можно распаковать без помощи архиватора.

В отличие от обычных архивов, самораспаковывающийся (или, если вам будет так угодно, самоизвлекающийся) архив имеет расширение EXE, то есть это обычный исполняемый файл. Достаточно просто запустить его и указать путь распаковки. Процедура извлечения данных из архива будет выполнена автоматически.

Я научу вас создавать SFX-архивы при помощи архиваторов 7-Zip и WinRAR. Первый интересен нам тем, что распространяется совершенно свободно (напоминаю, что стараюсь использовать в своих описаниях средства, которые не требуют дополнительных затрат от пользователей), второй же имеет преимущество там, где дело касается многотомных самоизвлекающихся архивов, но об этом чуть позже.

Многотомный архив – это архив, состоящий из нескольких частей, называемых томами. Многотомные архивы используются в тех случаях, когда объем упакованных данных слишком велик и использование обычного архива становится по каким-то причинам неприемлемо.

Например, не так давно многотомные архивы активно использовались при необходимости запихнуть большие объемы данных на 3,5-дюймовые дискеты. Несмотря на то, что сегодня эти носители уже почти нигде не используются, современные архиваторы, предусматривающие разбивку архива на тома, имеют среди вариантов разбития объем 1457664 байта. Именно такой объем имели названные дискеты.

Также использование многотомных архивов очень удобно для передачи больших объемов информации по электронной почте.

Некоторые разработчики программного обеспечения размещают свои приложения для скачивания в виде многотомных архивов. Например, наряду с целым инсталляционным файлом, в таком виде доступна для скачивания популярная бухгалтерская программа «Налогоплательщик ЮЛ». Такой подход удобен при нестабильном интернет-канале. Ведь в случае обрыва связи удобнее заново выкачать пару относительно небольших томов, чем заново качать большой инсталляционный файл.

Впрочем, есть средства, позволяющие продолжать закачку файлов в случае обрыва соединения, но о них мы поговорим как-нибудь в другой раз.

Многотомные архивы можно успешно использовать и просто для разрезки большого файла. Как я уже упоминал в статье , некоторые файлы имеют высокую степень сжатия и при архивации их объем особо не уменьшается. Но поделить такой файл на части нам ничто не мешает.

Именно на примере одного из таких файлов я расскажу вам, как создавать многотомные и SFX-архивы.

За образец я взял образ диска в формате ISO, который хоть и имеет высокую степень сжатия, но тем не менее занимает довольно много места. А именно 654636 килобайт. Я намеренно привожу размер в килобайтах, поскольку именно так он отображается в проводнике Windows.

Для начала рассмотрим создание интересующих нас типов архивов с помощью бесплатного архиватора 7-Zip. Как я ранее, работать с архивами можно из интерфейса архиватора или с помощью контекстного меню Windows. Я остановлюсь на втором варианте, поскольку для начинающего пользователя он, по моему мнению, наиболее прост.

Итак, нажимаем правой кнопкой мыши на файле, который мы хотим поместить в архив, после чего в появившемся контекстном меню выбираем пункт 7-Zip и в открывшемся меню функций выполняем действие «Добавить к архиву».

Из доступных в 7-Zip для создания форматов архивных файлов на части поделить можно любой. Что же касается самораспаковывающихся архивов, то здесь нам интересны исключительно архивы формата 7z, поэтому я остановлюсь именно на этом формате.

Взгляните на окно опций создания архива.

Как видите, слева внизу присутствует строка «Разбить на тома». Здесь можно установить размеры частей многотомного архива вручную или выбрать один из уже имеющихся вариантов.

Справа вверху вы видите опцию «Создать SFX-архив». Для того, чтобы архив получился самораспаковывающимся, достаточно отметить эту опцию птичкой.

К сожалению, возможности формата 7z ограничены, поэтому он может быть либо многотомным, либо самораспаковывающимся. Если выбрать создание архива SFX, то опция деления на части сразу же станет неактивной. Из двух возможных вариантов я пока выберу самоизвлекающийся архив. Ставим птичку, нажимаем OK и дожидаемся окончания процедуры.

Взгляните на полученный результат.

Как видите, рядом с файлом образа появился исполняемый файл. Это и есть готовый SFX-архив.

А как же быть, если мы хотим получить непременно многотомный самораспаковывающийся архив?

Для этой цели идеально подходит формат RAR, который можно получить с помощью приложения WinRAR.

Процедура создания такого архива очень похожа на только что рассмотренную нами. Мы точно так же жмем правой кнопкой мыши на нужном файле и выбираем опцию добавления в архив.

Вот так выглядит окно создания архива.

Согласитесь, очень похоже на интерфейс 7-Zip. Точно так же выбирается или забивается от руки размер тома. Присутствует и опция создания архива SFX.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то