Самораспаковывающийся (SFX, от англ. SelF-eXtracting) архив — это архив, к которому присоединён исполняемый модуль. Этот модуль позволяет извлекать файлы простым запуском архива как обычной программы. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. Вместе с тем, WinRAR может работать с SFX-архивом точно так же, как и с любым другим, поэтому если вы не хотите запускать SFX-архив (например, когда не можете гарантировать, что в нём нет вирусов), то для просмотра или извлечения его содержимого можно использовать WinRAR. SFX-архивы, как и любые другие исполняемые файлы, обычно имеют расширение .EXE. SFX-архивы удобны в тех случаях, когда нужно передать кому-то архив, но вы не уверены, что у адресата есть соответствующий архиватор для его распаковки. Вы также можете использовать SFX-архивы для распространения своих собственных программ. Например, дистрибутив WinRAR базируется на GUI SFX-модуле RAR Default.sfx. Чтобы создать SFX-архив из командной строки, вы можете использовать ключ -sfx при создании нового архива или команду S для преобразования существующего архива в SFX. При создании нового архива в оболочке WinRAR включите параметр "Создать SFX-архив" в диалоге ввода имени и параметров архива. Если же нужно создать SFX-архив из уже существующего, то войдите в него и нажмите кнопку "SFX". В WinRAR входит несколько SFX-модулей. Все SFX-модули (они имеют расширение .sfx) должны находиться в той же папке, что и WinRAR. По умолчанию WinRAR всегда использует модуль Default.sfx, но вы можете указать имя другого модуля сразу после ключа -sfx или команды S. Например, для преобразования архива myarchive.rar в SFX с модулем WinCon.SFX выполните следующую команду: WinRAR SWinCon.SFX myarchive.rar В оболочке WinRAR нужный SFX-модуль можно выбрать из списка, появляющегося при выполнении команды "Преобразовать архив в SFX". Чтобы запустить сразу несколько программ после распаковки SFX-архива, следует выполнить следующие действия: В графическом интерфейсе WinRAR: Включите параметр "Распаковать во временную папку" ("Unpack to temporary folder") в меню "Дополнительные параметры SFX", вкладке "Режимы" ("Modes"). Этот параметр заставляет SFX-архив создавать временную папку, распаковывать в неё все файлы, запускать внешнее приложение, указанное в поле "Запускать после установки" ("Run after extraction"). После выполнения внешнего приложения временная папка и всё её содержимое будут автоматически удалены. Вместо названия приложения укажите имя BAT или CMD-файла, содержащего сценарий обработки содержимого SFX-архива. Сценарий, в свою очередь, может поочерёдно запускать несколько внешних приложений. В интерфейсе командной строки WinRAR/RAR: • Запишите в текстовый файл, который будет добавлен в SFX-архив в качестве комментария следующие строки: ===================================== Setup=setup.cmd TempMode ===================================== • Файл setup.cmd содержит вывоз внешних программ после распаковки архива. • Добавьте этот текстовый файл в SFX-архив при помощи ключа -z. Например, чтобы добавить файл sfxoptions.txt в качестве комментария к SFX-архиву myinst.exe с использованием модуля default.sfx: rar a -sfxdefault.sfx -zsfxoptions.txt myinst C:\test\*.* Чтобы изменить формат текста, цвета и шрифты при использовании SFX: • Для это воспользуйтесь командой Text для SFX-модулей. Для этой команды существует два синтаксиса: • 1) Text= • 2) Text { string1 string2 … } • C помощью языка HTML вы можете управлять цветами, шрифтами и форматированием выводимого текста. Описание HTML доступно на сайте WWW-консорциума. Кроме того, для подготовки HTML-текста подойдёт любой редактор web-страниц. Важно: Данная команда доступна только для модуля Default.SFX (RAR-архивы) и Zip.SFX (ZIP-архивы). GUI SFX-модули RAR и ZIP (Default.SFX и Zip.SFX): С помощью этих двух модулей можно создавать самораспаковывающиеся архивы GUI (т.е. работающие в графическом режиме), функционирующие в среде любой 32-разрядной версии Windows (95, 98, NT и т.д.). Эти модули не работают в среде Windows 3.1 и DOS. Для архивов RAR следует использовать модуль Default.SFX, а для архивов ZIP — модуль Zip.SFX. Оба модуля поддерживают команды для организации простых процедур установки. Эти команды должны находиться в комментарии SFX-архива. Консольный SFX-модуль RAR (WinCon.SFX): С помощью этого модуля можно создавать самораспаковывающиеся архивы, работающие в текстовом режиме в среде любой 32-разрядной версии Windows (95, 98, NT и т.д.). Этот модуль не функционирует в среде Windows 3.1 и DOS. SFX-модуль RAR для DOS (Dos.SFX): Начиная с версии WinRAR 3.50, SFX-модуль для DOS распространяется только в составе дистрибутива RAR/DOS32. Если вам требуется создавать самораспаковывающиеся архивы для DOS, извлеките из дистрибутива RAR/DOS32 файл DEFAULT.SFX, переименуйте его в DOS.SFX и поместите в папку WinRAR. С помощью этого модуля можно создавать самораспаковывающиеся архивы, работающие в текстовом режиме в среде DOS. SFX-модуль для DOS также работает в сеансе DOS в OS/2, Windows и других ОС в режиме эмуляции DOS. Вы можете самостоятельно менять параметры SFX-модулей, в том числе редактировать содержащиеся в них Windows-ресурсы. Важно отметить, что SFX-модули сжаты утилитой UPX, так что для редактирования параметров потребуются их оригинальные версии. Вы можете найти их по этому адресу (см. файл UnpSFX.rar). WinRAR не предоставляет ни готовых инструментов, ни документации для редактирования параметров. Это достаточно сложный процесс, требующий определённых навыков и знаний. Если вы решили заняться им, то, наверняка, уже имеете необходимые утилиты и знаете как с ними работать. Если вас устраивает стандартный начальный диалог SFX, то мы рекомендуем не редактировать ресурсы. Кроме того, если вам нужно изменить только рисунок или значок в SFX-модуле, вы можете сделать это в диалоговом окне дополнительных параметров SFX на вкладке "Текст и графика". Вы можете самостоятельно менять параметры SFX-модулей, в том числе редактировать содержащиеся в них Windows-ресурсы.