В каком случае нужен sfx архив. Подготовка к созданию SFX

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

Создать SFX-архив можно перед сжатием файлов, в результате будет создан не обычный архив, а исполняемый файл с расширением *.exe. Программа распаковки запускается сразу после двойного клика по файлу. Окошко, хоть и скромное в большинстве случаев, но функции свои выполняет: есть возможность извлечь файлы в папку с архивом или задать требуемый путь вручную.

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

Недостатков у такого способа два. Самый главный кроется в риске наткнуться на вирус, встроенный в код архива. Всё чаще в сети предлагают скачать полезные файлы в виде таких архивов, но, скорее всего, это либо вирусы, либо (отправка СМС за распаковку). Использование простейших правил безопасности и игнорирование подобных архивов от неизвестных поставщиков позволят избежать подобных проблем и снизить риск.

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

Подобные архивы применяются для распространения модификаций к играм. Иногда 7z SFX-архивы сбивают пользователей с толку - их принимают за вирусы, файлы игры и просто за лишние файлы. Всё потому, что сейчас встретить такой архив - редкость т. к. на данный момент больше популярен формат *.rar или *.zip.

Где SFX-архив незаменим, так это в Дело в том, что такой архив удобнее, если вы планируете распаковывать его редко и полностью. Антивирус не тратит ресурсы на постоянное сканирование доверенных exe-файлов, а в случае переноса данных или их восстановления вся процедура займёт всего пару кликов.

В заключение хочется подвести итог: данный тип архивов идеален для личного пользования, но крайне нежелателен для распространения файлов в сети. Скачивать неизвестные файлы, способные к самостоятельной распаковке, не рекомендуется. При антивирус не сможет контролировать модуль SFX. Программа получит доступ к системным файлам. Например, безобидная, казалось бы, функция "удалить файлы после распаковки", может быть использована для уничтожения всех данных на диске пользователя.

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

Основной способ использования самораспаковывающихся архивов - создание программ для установки ПО без использования систем управления пакетами .

Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.

Примеры

Примеры программ, способных создавать самораспаковывающиеся архивы:

7-Zip
  • Ненастраиваемые SFX-архивы 7z для Microsoft Windows .
  • Существует сторонний настраиваемый модуль - тоже для Windows.
ARJ
  • Для различных платформ.
p7zip
  • 7zCon.sfx - ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.
PKZIP
  • Только в зарегистрированных версиях, начиная с 2.70.
RAR и WinRAR
  • Возможно создание настраиваемых самораспаковывающихся архивов RAR (и ZIP в WinRAR) с русским и английским интерфейсом. Настройка архива производится путём задания комментария или в окне «Дополнительные параметры SFX». Возможно изменение значка.
zipSfx
  • Настраиваемый, поддерживает формат ZIP. Настройка производится подготовкой текстового файла и последующей «склейкой» файлов.
SFX Creator
  • Создание настраиваемых самораспаковывающихся архивов для Microsoft Windows с выбором компрессора (ZLIB , BZIP2 , LZMA).
  • Настройка архива производится через графический интерфейс программы.

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

CAB

Также такие архивы в своих форматах для соответствующих платформ могут создавать StuffIt и WinZip .

Кроме того, существуют программы, создающие архивы в виде сценариев оболочки UNIX . Это часто используется для создания программ установки коммерческого ПО для UNIX-подобных ОС . Примеры: makeself и более старая shar.

Совместимость

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

Самораспаковывающиеся архивы в некоторых форматах (например RAR и ZIP) могут быть распакованы как обычные (не SFX) с помощью самостоятельной программы распаковки.

Имеется возможность создать код, который будет поддерживаться без дополнительных программ сразу несколькими операционными системами (например DOS и OS/2), а также стандартными средствами в одной ОС и дополнительными средствами в другой (например с использованием Python или shell).

Архив с кодом под Win32 может потребовать дополнительных действий после распаковки с помощью Wine на UNIX -подобной системе - в частности, установки битов прав доступа.

Нередко при работе над автоматической установкой приложений возникает необходимость создать бесключевой самораспаковывающийся архив (в дальнейшем я буду использовать "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 типа интерфейса на выбор
  • Возможность показа вашего изображения перед запуском процесса распаковки файлов
  • При создании проекта с графическим интерфейсом, вы можете добавить отображение изображения на задний план

Самораспаковывающийся (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.

Е ще один, пожалуй, самый уникальный, тип архивов – самораспаковывающиеся архивы с расширениями .exe . Их уникальность необычна: sfx -архив содержит в себе и архивную часть, и специальный исполняемый код. Поэтому, он извлекается самостоятельно, и для его распаковки уже никакой архиватор, вообще, не нужен. Согласитесь, когда нет уверенности, что в нужный момент архиватор WinRAR окажется под рукой, такой архив – просто находка!

Зачем нужны sfx-архивы

Необходимость в самораспаковывающихся архивах, бывает, возникает совершенно неожиданно: для кого-то главное, чтобы упакованные в архиве данные в любой ситуации оставались бы доступными, а дискового пространства занимали минимум, другим же, важно чтобы архив извлекался автоматически, в заранее указанное место. Конечно же, области использования sfx -архивов вовсе не ограничиваются только этими случаями. Возможности этого типа архивов очень широкие, буквально до абсолютно полной автоматизации извлечения данных с заранее определенными ключами, вплоть до организации абсолютно закрытого для пользователя процесса инсталляции.

Создать sfx-архив в WinRAR - просто, как дважды два

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

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

Дальнейшая процедура создания такого типа архивов в WinRAR ничем принципиальным не отличается, разнятся лишь некоторые параметры:
Прежде всего, указывается имя архива, например, sochi2014 . Хорошо, когда оно осмысленное, связанно с содержанием архива и состоит из цифр и латинских букв. Согласитесь, что многое сию минуту представляется абсолютно понятным, только вот уже через несколько дней легко забывается, так, что и комментарии не всегда помогают вспомнить.
Во-вторых, уточняем его расширение: rar , zip либо rar5 .
В-третьих, выставляем флаг рядом с настройкой «Создать SFXархив» .
В-четвертых, и в-пятых, в выпадающих списках определяем метод сжатия.

И уточняем оптимальный размер словаря.

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

Секреты конфигураций SFX-архивов

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

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

Конечно, это не всегда возможно, так, что если явного указания не будет, то перед извлечением sfx -архива его предложит вести инсталлятор.

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

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

Весьма полезной бывает также вкладка «Текст и графика» , здесь удобно формировать заголовок и текст окна SFX , кроме того, выбрать логотип и значок sfx -архива.

В общем, на вкладках можно найти еще немало полезных свойств и настроек архивирования, побродить по ним и немного поэкспериментировать Вы сможете чуть позже и сами. Когда все настройки определены, еще раз проверяем все ли сделано и нажимаем «ОК» . Через несколько коротких мгновений Вы получите необходимый sfx-архив .