Как создать самораспаковывающийся sfx архив программой WinRAR? Как создать самораспаковывающийся архив WinRAR Архив с автозапуском

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

Вы и отправили его другу или подруге, а у них нет программы для его распаковки. Можно, конечно выслать им вместе с архивом и установочный файл программы , но это тоже не выход. Может они не смогут его запустить. А если вы отправите архив человеку (допустим, преподавателю), который не будет долго заморачиваться, а после неудачной попытки возьмет и удалит ваш файл. А для вас очень важно, чтобы он его просмотрел. Конечно, я не думаю, что у кого-то не установлена программа архиватора, но мало ли, что бывает. Может программа, именно у этого человека, и именно в данный момент, «по закону подлости» — дала сбой? Что делать?

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

Как создать самораспаковывающийся архив WinRAR?

Будем исходить из того, что программа архиватор WinRAR, у вас установлена.

Выбираем файл или папку, которую необходимо заархивировать и щелкаем по этой папке или файлу правой кнопкой мыши, и в выпадающем меню выбираем пункт Добавить в архив…

В открывшемся окне Имя и параметры архива , на вкладке Общие , выбираем Формат архива и в Параметрах архивации , устанавливаем галочку на пункт Создать SFX-архив .

Нажимаем кнопку ОК , и наш самораспаковывающийся архив создан.

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

Архиватор WinRAR может работать с sfx архивом как с обычным архивом rar, т.е. может извлекать из него файлы, добавлять или удалять файлы из архива sfx. Создать sfx архив можно также просто, как создать обычный rar архив, понадобится только установить одну галочку в настройках.

Чтобы создать самораспаковывающийся архив для начала необходимо запустить архивирование файла программой WInRAR любым удобным способом с вызовом окошка «Имя и параметры архива» . Например, открываем WinRAR, находим необходимый файл и запускаем создание архива нажатием в меню кнопки «Добавить» . Теперь, чтобы создать sfx архив с расширением файла *.exe необходимо в настройках «Параметры архивации» установить галочку «Создать SFX-архив» . При желании можно перейти на вкладку «Дополнительно» и нажав кнопку «Параметры SFX…» сделать дополнительные настройки.

После нажатия кнопки «OK» самораспаковывающийся архив sfx будет создан.

С такой же легкостью можно преобразовать в sfx архив любой имеющийся rar архив. Для этого его нужно найти в программе WinRAR, выбрать его и нажать соответствующий пункт «Преобразовать архив(ы) в SFX» в меню «Операции» или открыть информацию о данном архиве нажав на пункт меню «Информация» , перейти на вкладку «SFX» , выбрать пункт «Добавить новый модуль SFX» и нажать «OK» .

Здравствуй, мой дорогой читатель.
ну и вот пришло время написать что-то новое, а то всё праздники, праздники….
Тема назревала уже очень давно и вытекает из моих предыдущих статей, т.е, как упаковать единый *.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, и создайте для него ярлык на рабочем столе! Справитесь? ну тогда вперёд!
А теперь самое время сказать «Всё на сегодня», и идти пить вкусный чай с печеньками!
Лёгких вам архивов:-).
До новых встреч!
.

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