Самораспаковывающийся архив с указанием путей распаковки. Как создать самораспаковывающийся архив WinRAR. Зачем нужны sfx-архивы
И снова здравствуйте, дорогие читатели. Не так давно я рассказывал вам об и сегодня мы вновь вернемся к этой теме. На этот раз речь пойдет о многотомных и 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.
, компьютерная программа , объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.
Основной способ использования самораспаковывающихся архивов - создание программ для установки ПО без использования систем управления пакетами .
Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.
Примеры
Примеры программ, способных создавать самораспаковывающиеся архивы:
7-Zip- Ненастраиваемые SFX-архивы 7z для Microsoft Windows .
- Существует сторонний настраиваемый модуль - тоже для Windows.
- Для различных платформ.
- 7zCon.sfx - ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.
- Только в зарегистрированных версиях, начиная с 2.70.
- Возможно создание настраиваемых самораспаковывающихся архивов RAR (и ZIP в WinRAR) с русским и английским интерфейсом. Настройка архива производится путём задания комментария или в окне «Дополнительные параметры SFX». Возможно изменение значка.
- Настраиваемый, поддерживает формат ZIP. Настройка производится подготовкой текстового файла и последующей «склейкой» файлов.
- Создание настраиваемых самораспаковывающихся архивов для 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-архив можно перед сжатием файлов, в результате будет создан не обычный архив, а исполняемый файл с расширением *.exe. Программа распаковки запускается сразу после двойного клика по файлу. Окошко, хоть и скромное в большинстве случаев, но функции свои выполняет: есть возможность извлечь файлы в папку с архивом или задать требуемый путь вручную.
Такой способ распространения файлов подходит для тех, кто не уверен, что получатель разбирается в компьютерах и сможет распаковать посылку самостоятельно. Основное преимущество, которое заставляет использовать SFX-архив - простота. Пользователю не надо устанавливать лишние программы, не требуется никаких дополнительных знаний и навыков. Всё, что требуется от получателя - запустить распаковку и ждать её окончания.
Недостатков у такого способа два. Самый главный кроется в риске наткнуться на вирус, встроенный в код архива. Всё чаще в сети предлагают скачать полезные файлы в виде таких архивов, но, скорее всего, это либо вирусы, либо (отправка СМС за распаковку). Использование простейших правил безопасности и игнорирование подобных архивов от неизвестных поставщиков позволят избежать подобных проблем и снизить риск.
Второй недостаток кроется в том, что SFX-архив в силу неблагонадёжности расценивается антивирусами как вредоносный файл и в лучшем случае просто блокируется запуск распаковки. В худшем - архив удаляется. Если вы доверяете источнику, то отключайте защиту и проводите распаковку, если нет - просканируйте файл вручную, чтобы убедиться в его безопасности.
Подобные архивы применяются для распространения модификаций к играм. Иногда 7z SFX-архивы сбивают пользователей с толку - их принимают за вирусы, файлы игры и просто за лишние файлы. Всё потому, что сейчас встретить такой архив - редкость т. к. на данный момент больше популярен формат *.rar или *.zip.
Где SFX-архив незаменим, так это в Дело в том, что такой архив удобнее, если вы планируете распаковывать его редко и полностью. Антивирус не тратит ресурсы на постоянное сканирование доверенных exe-файлов, а в случае переноса данных или их восстановления вся процедура займёт всего пару кликов.
В заключение хочется подвести итог: данный тип архивов идеален для личного пользования, но крайне нежелателен для распространения файлов в сети. Скачивать неизвестные файлы, способные к самостоятельной распаковке, не рекомендуется. При антивирус не сможет контролировать модуль SFX. Программа получит доступ к системным файлам. Например, безобидная, казалось бы, функция "удалить файлы после распаковки", может быть использована для уничтожения всех данных на диске пользователя.
Самораспаковывающийся архив (SFX-архив) — файл, который состоит из архива и исполняемого кода для его распаковки. Поэтому для распаковки такого архива не нужно дополнительных программ, таких как WinRar, HaoZip , 7-Zip . В этой статье мы рассмотрим, как можно создать самораспаковывающийся архив , используя для этого такие программы, как HaoZip и 7-Zip.
СОЗДАЕМ САМОРАСПАКОВЫВАЮЩИЙСЯ АРХИВ (SFX-архив) С ПОМОЩЬЮ HAOZIP
Сначала нужно скачать и установить HaoZip . Скачать HaoZip можно по ссылкам в конце статьи. После того, как скачали HaoZip его нужно установить. Процесс установки интуитивно понятен, поэтому останавливаться на этом этапе не будем. Если что-то не понятно, то вопросы установки программ обсуждаются в статье: как установить программу на компьютер?
Теперь приступим к созданию . На файле или папке, из которой хотим создать самораспаковывающийся архив (SFX-архив) кликаем правой кнопкой мыши и в открывшемся меню выбираем «Добавить в архив…». Открылось окно под названием «Архив». В нем в поле «Формат архива» указываем пункт «7Z», а в параметрах архивации ставим галочку возле «Создать SFX-архив (только для 7Z)». Смотрим скриншот:
После того, как правильно выполнили вышеуказанные действия нажимаем ОК. Начнется создание самораспаковывающегося архива или SFX-архива:
После завершения процесса создания самораспаковывающегося архива
или SFX-архива появится архив, с тем же названим, что и исходный файл/папка. Скриншот:
На скриншоте видим, что изначально был файл в формате pdf , из него создали самораспаковывающейся архив
или SFX-архив в формате exe. Для распаковки такого архива достаточно двойного щелчка мыши по нему, откроется окно «SFX file»:
В этом окне, в пункте «Destination Folder» указана папка, в которую будет извлечен файл — диск С, папка Program Files. Чтобы указать другую папку для распаковки архива, нажимаем на кнопке «Browse». Если с этими настройками разобрались, то кликаем по кнопке «Install». Начнется процесс извлечения файла. Скриншот:
Итак, как создать самораспаковывающийся архив
или SFX-архив с помощью HaoZip, думаю, понятно.
СОЗДАЕМ САМОРАСПАКОВЫВАЮЩИЙСЯ АРХИВ (SFX-архив) С ПОМОЩЬЮ 7-Zip
7-Zip находится в скачанном архиве, его тоже нужно установить. После завершения установки откроется окно 7-Zip File Manager. Оно имеет следующий вид:
Теперь кликаем по значку Компьютер в окне 7-Zip File Manager и указываем файл/папку, из которой нужно создать самораспаковывающийся архив
(SFX-архив). Смотрим скриншот:
Нажимаем «Добавить» и откроется окно под названием «Добавить к архиву»:
В этом окне указываем формат архива 7z и ставим галочку возле «Создать SFX-архив». Теперь нажимаем ОК. 7-Zip начнет создавать самораспаковывающийся архив
или SFX-архив. Скриншот:
Результат работы: файл «сайт.exe» — самораспаковывающийся архив
(SFX-архив):
Теперь рассмотрим, как распаковать созданный нами самораспаковывающийся архив
. Двойным щелчком мыши запускаем архив, откроется окно:
В поле «Extract to» указано путь распаковки файлов из самораспаковывающегося архива . Если нужно, то можно указать другое место для распаковки файлов. Для этого нажмите на кнопке и укажите другой путь распаковки файлов. Нажимаем «Extract» и начнется распаковка архива.
На этом закончим. Ваши отзывы, вопросы, пишите, пожалуйста, на форуме. Желаем успеха!!!
Здравствуй, мой дорогой читатель.
ну и вот пришло время написать что-то новое, а то всё праздники, праздники….
Тема назревала уже очень давно и вытекает из моих предыдущих статей, т.е, как упаковать единый *.exe файл из файликов и батников.
Если вы ещё не читали , то настоятельно рекомендую прочитать, а также узнать про .
Итак, что такое SFX?
SFX — это сокращение от английских слов «Self Extractor» — само распаковывающийся, т.е., для распаковки такого архива не требуется архиватора и он представлен в виде единого файла-программы с расширением «*.exe». Чтобы такой архив распаковался, необходимо запустить этот файл и указать путь, куда необходимо распаковать наши файлы. Некоторые архиваторы, например WinRAR, поддерживают дополнительные параметры для SFX архивов, именно по этому лучше всего использовать именно WinRAR для таких задач, поскольку после распаковки необходимо будет выполнить некоторые действия, а WinRAR это позволяет осуществить в полной мере.
Предстартовая подготовка
Итак, для начала загрузим архиватор win rar на свой компьютер, если его до сих пор у вас нету, и установим его.
Вот и вся подготовка, больше кроме рук и клавиатуры ничего не требуется, можно приступать к запаковке нашего первого SFX архива.
Создание архива и указание параметров
Предположим, что у нас есть папка на диске «C», которая называется «setup», в которой уже есть подготовленные файлы для тихой установки. Условимся, что это файлы install.exe и install.bat вот с таким содержанием:
@echo off
start /wait install.exe /verysilent
echo program installed, please press any key for close window
@pause > nul
exit
Если вы ещё не знаете, что означает этот код, вам .
Для того, чтобы упаковать файлы, откройте нашу папку «C:\Setup».
Выделите оба файла с помощью CTRL + a, или мышкой, если вы вдруг так привыкли:-), откройте контекстное меню с помощью клавиши Application, shift + f10, или кликом правой клавиши мыши, и выберите пункт «Добавить в архив», или сначала «WinRAR», а потом «Добавить в архив», если вы включили вложенные контекстные меню при установке архиватора.
После выбора этого пункта, откроется окно «Имя и параметры архива».
В первом же редакторе нам будет предложено ввести имя архива, изначально имя будет «Название исходной папки + расширение», и того «setup.rar. пройдёмся клавишей Tab до группировки «Формат архива», рекомендую поставить ZIP. После выбора другого формата, расширение в имени тоже будет изменено. В следующем комбинированном списке «Метод сжатия» мы можем выбрать, насколько сильно будут сжиматься данные. Можете ставить максимальный тип сжатия т.к., программы всё равно сжимаются плохо,так что хорошо, если архив получиться меньше исходных файлов.
Далее доходим до группировки «Параметры архивации» и отмечаем флажок «Создать SFX архив». Теперь имя нашего файла, можете вернуться и посмотреть, изменено на setup.exe.
Теперь нам необходимо выставить некоторые дополнительные параметры SFX, для этого переходим на вкладку «Дополнительно», и нажимаем там кнопку «Параметры SFX».
После этого откроется окно «Дополнительные параметры SFX». На первой вкладке «Общие», предлагается указать путь для распаковки, и если вы введёте туда что-либо, то появиться настройка на выбор создать эту папку в «Program Files», либо в текущей папке архива, т.е., откуда архив распаковывается.
Поскольку нам не подходит ни один из вариантов, оставляйте поле пустым.
Следующая вкладка, это «Установка», тут задаются некоторые из нужных нам параметров.
Итак, первое поле ввода: выполнить после распаковки, пишем наш батник:
Второе поле, выполнить до распаковки, оставляем пустым.
Переключаемся на следующую вкладку — «Режимы».
Здесь сразу отметим флажок «Распаковать во временную папку», чтобы наш архив распаковывался в папку временных файлов.
Далее доходим до группировки «Режим вывода информации», и выбираем радио кнопку «Скрыть всё».
Теперь при распаковке не будет выводиться окно с указанием пути, а архив будет автоматически распакован, после чего запуститься файл install.bat.
Следующая вкладка «Дополнительно», но на данном этапе для нас там нету ничего интересного, можно её пропустить и сразу перейти на вкладку «Обновление».
Здесь дойдём до группировки «Режим перезаписи», и отметим радио кнопку «Перезаписывать все файлы без запроса». вот теперь точно никаких запросов вылазить не будет:-).
Находим и нажимаем кнопку «ОК», после чего попадаем в окно «Имя и параметры архива», да да, именно туда, где мы и были, на вкладке «Дополнительно», помните?
Теперь и в этом окне можно нажать кнопочку «ОК» и подождать, пока файлы за архивируются, после чего в этой же папке появится новый файл с названием «setup.exe».
Запускаем его и проверяем!
Работает? вот и отлично. сегодня вы научились создавать простые SFX архивы с помощью программы WinRAR. Понравилось? тогда вот вам домашнее задание: на вкладке, которую мы пропустили в параметрах SFX, можно добавить ярлык для файлов. Запакуйте какой-либо EXE-файл, задайте ему распаковаться в произвольную папку в Program Files, и создайте для него ярлык на рабочем столе! Справитесь? ну тогда вперёд!
А теперь самое время сказать «Всё на сегодня», и идти пить вкусный чай с печеньками!
Лёгких вам архивов:-).
До новых встреч!
.