Създаване на SFX архив

Често, когато работите върху автоматично инсталиране на приложения, става необходимо да създадете саморазархивиращ се архив без ключ (в бъдеще ще използвам "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 в определена папка, ще изпълни предварително зададена команда и в края на инсталацията може да изтрие разопакованите файлове. Освен всичко друго, WinRAR може да добавя елементи към менюто "Старт", да поставя преки пътища на работния плот и да задава иконата за архив по ваш избор. Ще разгледам само основните характеристики на програмата и можете лесно да разберете останалото с помощта на помощ.

И така, като стартираме архиватора, отиваме в папката, където се намира административната инсталация на Adobe. Изберете всички файлове

7-Zip

и щракнете върхуДобавяне

Adobe

Наименуваме архива по желание, маркираме създаването на SFX и избираме максималното ниво на компресия. Сега трябва да конфигурираме SFX параметрите. За да направите това, в разделаAdvanced щракнете върхуSFX Options.

В разделаОбщи посочете командата за разопаковане

архив

и отидете в разделаРежими :

файлове

Тук посочваме разопаковане във временна папка (която автоматично ще изтрие неопакованите файлове в края на инсталацията), скрит режим и презаписване на всички файлове.

Забележка Тъй като пакетираме приложение, което има свой собствен инсталатор,разопаковането във временна папка е напълно оправдано (параметър TempMode). Ако просто искате да разопаковате файловете в папката, от която се нуждаете, тогава в раздела Общи трябва да посочите пътя (можете да използвате системни променливи) и съответно не използвайте TempMode.

Това е всичко. Сега остава да щракнете няколко пъти върху OK и след известно време ще имаме SFX, който ще инсталира Acrobat Reader напълно невидимо.

Предимства: напълно тиха инсталация, възможност за извличане на файлове в определена папка, възможност за добавяне на елементи към менюто "Старт" и преки пътища към работния плот, избор на икона за архива.Недостатъци: струва $30.

7-Zip е безплатен архиватор, разпространяван под лиценз GNU LGPL. Ако не сте запознати с него, можете да намерите повече информация на уебсайта на 7-Zip. С него можете да създавате SFX без ключ, въпреки че процесът на създаването им е малко по-дълъг, отколкото с WinRAR.

Първо трябва да опаковаме съдържанието на нашата папка в7-Zip архив. Това може да стане чрез файловия мениджър 7-Zip. Пускайки го, отиваме в папката, където се намира административната инсталация на Adobe. В същата папка трябва да поставите файла StartX.exe (по-долу ще обясня предназначението му). Изберете всички файлове

създаване

и щракнете върхуДобавяне

папка

Наименувайте архива както желаете (да речем Adobe7.7z), изберете 7-Zip формат, максималното ниво на компресия и щракнете върху OK. На изхода получаваме файла Adobe7.7z, от който трябва да направим SFX.

Сега трябва да създадем конфигурационен файл за SFX. Може да се направи в Notepad. Единственото, но задължително условие е той да бъде кодиран в UTF-8. В нашия случай ще изглежда така:

;!@Install@!UTF-8! RunProgram="StartX.exe /ИЗЧАКАЙТЕ \"msiexec /i Adobe7.msi /qn\"" ;!@InstallEnd@!

Изглежда сложно, но сега всичко ще стане ясно. Първият и последният ред просто маркират началото и края на конфигурационния файл. Средният ред е командата, която ще бъде изпълнена след разопаковането на архива. Самата команда е затворена в кавички и поставена след RunProgram=. Помощната програма StartX.exe е еквивалент на конзолната команда START и поддържа същите превключватели. Неговото присъствие е необходимо за инсталиране на MSI пакета, извлечен от 7-Zip SFX. Ако се опитате да направите нещо като RunProgram="Adobe7.msi /qn", стартирането ще се провали. Двете обратни наклонени черти (\) просто предхождат кавичките вътре в командата.

Записваме конфигурационния файл с името config.txt в същата папка като Adobe7.7z и продължаваме към последния етап от създаването на SFX.

От инсталационната папка на 7-Zip трябва да вземете SFX модула 7zS.sfx и да го копирате във файловете Adobe7.7z и config.txt. Можете да компресирате модула с помощната програма UPX. Това ще намали размера на модула от около 131 kb на 58 kb. Това се прави от екипа

upx --най-добрият 7zS.sfx

Достатъчно е да направите това веднъж и можете да използвате компресирания модул в бъдеще.

След като и трите файла (adobe7.7z, config.txt и 7zS.sfx) са събрани в една папка, трябва да изпълните следната команда от командния ред

КОПИРАНЕ /b 7zs.sfx + config.txt + adobe7.7z adobe7.exe

След малко файлът adobe7.exe ще се появи в папката. Това е нашият SFX. Неговото стартиране инициализира разопаковането на архива във временна папка, стартиране на командата от конфигурационния файл и изтриване на разопакованите файлове след приключване на инсталацията.

Модифициран SFX модул за 7-Zip

Оригиналният 7-Zip SFX модул не прави възможно разопаковането да стане напълно невидимо. По време на процеса на разопаковане потребителят вижда следния диалогов прозорец

;!@Install@!UTF-8! RunProgram="StartX.exe /ИЗЧАКАЙТЕ \"msiexec /i Adobe7.msi /qn\"" GUIMode="2" ;!@InstallEnd@!

Всъщност модифицираният модул не се нуждае от помощната програма StartX и може да се откаже от RunProgram="Adobe7.msi /qn".

Любопитно е, че в този случай 7-Zip показа по-добра компресия от WinRAR. Размерът на 7-Zip SFX (дори с помощната програма StartX.exe) се оказа 20893 kb срещу 23825 kb за WinRAR SFX. Въпреки това, недостатъкът на родния 7-Zip SFX модул е ​​невъзможността да се конфигурира декомпресия без ключ на SFX към дадена папка. Модифицираният модул на Олег ви позволява да посочите папката за разопаковане в конфигурационния файл и спестява 7-Zip от този недостатък.

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

Създател на SFX

SFX Creator е безплатна програма, написана от един от участниците в конференцията OSZone.net - K.A.V.

папка

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

Характеристики на SFX Creator: