Новость из категории: Информация

Создание установочных пакетов с WiX: наполнение содержимым

Содержание:
1. Создание установочного пакета;
2. Создаем описание продукта;
3. Наполнение содержимым (Вы читаете данный раздел);
4. Сборка пакета.
Создание установочных пакетов с WiX: наполнение содержимым

Теперь необходимо определить каталоги, в которые будем устанавливать продукт. Для этого в секцию Product добавим описание каталогов, возможностей и компонентов. Описание каталогов определяется секцией Directory. У нее есть только один обязательный параметр - это идентификатор Id:
- Id - идентификатор каталога в установочном пакете. Для данного параметра может быть использовано специальное значение TARGETDIR, которое определяет, что вся иерархия каталогов ниже данной директории будет развернута на «целевой машине» в процессе установки. Реальное значение такого каталога может быть задано в процессе установки пользователем. Существует набор специальных идентификаторов каталогов, позволяющих задавать системные каталоги, такие как Program Files, Windows и другие. Набор этих имен можно найти в документации, мы же в примере используем только два специальных идентификатора.

- Name - название, которое будет использовано в качестве имени каталога в процессе установки пакета. Если в качестве идентификатора каталога использован специальный идентификатор, то имя будет проигнорировано.
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles"> <Directory Id="MainProductDir" Name="First Product">
</Directory>
</Directory>
</Directory>


Таким образом, мы определили, что на «целевой машине» в каталоге Program Files будет создана директория нашего продукта с именем First Product. Но этого не достаточно, так как каталоги без конкретных компонентов не несут никакой пользы. Понятием «компонент» обозначается файл или набор файлов, которые реализуют определенную функциональность и должны рассматриваться как единое целое. Каждый файл в продукте можно описать как компонент, но это приведет к излишнему засорению реестра «целевой машины», так как все компоненты регистрируются в реестре. Добавление компонента осуществляется с помощью секции Component. Здесь есть следующие часто используемые атрибуты:
- Id - определяет строку идентификации компонента, которая используется как основной ключ при поиске компонента в установочном пакете и на «целевой машине».
- Guid - глобальный уникальный идентификатор компонента, который используется для регистрации компонента в реестре «целевой машины». По этому идентификатору компонент может быть найден на «целевой машине» и обновлен или удален.

Кроме того, компонент обязан содержать описание файлов, которые его физически представляют. Они должны быть описаны в установочном пакете. Это выполняется путем помещения секций описания файлов File. У данной секции имеются следующие параметры, которые необходимо установить:
- Id - уникальный в рамках пакета идентификатор файла. Задается простым именем, например.
- Name - имя файла, которое используется для идентификации его в файловой системе «целевой машины».
- Source - имя файла, которое используется для идентификации файла в процессе сборки установочного пакета.
- DiskId - идентификатор диска, должен быть установлен в значение, соответствующее идентификатору носителя, определенному в секции Media.

Создание установочных пакетов с WiX: наполнение содержимым

Таким образом, мы определили компонент, который будет установлен на «целевую машину» в заданные каталоги:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="MainProductDir" Name="First Product">
<Component Id="Notepad"
Guid="4335CF4C-E0B1-4224-86CC-33A811B2645B">
<File Id="readme.txt" Name="readme.txt" DiskId="1"
Source="readme.txt" />
<File Id="notepad.exe" Name="notepad.exe" DiskId="1"
Source="notepad.exe" /> </Component>
</Directory>
</Directory>
</Directory>


В процессе знакомства с компонентами мы узнали, что они могут объединять множество файлов, записей реестра и других данных, которые имеют общее функциональное назначение. Но сами компоненты могут быть так же сгруппированы в наборы «возможностей» (Features). Более того, компонент обязан входить в состав одной из «возможностей», так как это минимальная единица, которая участвует в процессе установки. Иными словами установщик пакета оперирует именно этими единицами в процессе исполнения сценария инсталляции, определяемого вашим установочным пакетом. Пользователь может включать и отключать «возможности» в процессе установки, но не может управлять набором компонентов и файлов.

Для описания «возможности» используется секция Feature, которая имеет ряд часто используемых параметров:
- Id - уникальный идентификатор возможности. Задает, например, ее имя.
- Title - название, которое будет отображено пользователю в процессе установки.
- Level - задает уровень установки, который используется в процессе обработки таблицы условий (в нашем простом примере не используется). Уровень 0 означает, что «возможность» отключена и не будет установлена.
<Feature Id="TextEditor" Title="Allow user to edit text files" 
Level="1"> <ComponentRef Id="Notepad" />
</Feature>


Таким образом, мы описали «возможность», включив в нее описанный ранее компонент. Компонент включается по ссылке ComponentRef, которая говорит, что описанный ранее компонент Notepad входит в состав «возможности». Теперь осталось коснуться еще одного момента - секции Media, которая была упомянута ранее. Она определяет главное - место, в котором хранятся файлы, используемые в процессе установки. Таким местом может быть, например, CAB-архив, традиционно используемый Microsoft для хранения файлов, необходимых для процесса установки, или носитель типа CD/DVD.
Для нашего примера определим носитель так:
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />


Здесь:
- Id - идентификатор носителя (целое число);
- Cabinet - название CAB-архива, которое задает имя файла архива;
- EmbedCab - логический параметр, который определяет необходимость встраивания архива в файл установочного пакета (файл архива может поставляться в составе пакета как отдельная единица).



Планируете провести операцию по сборке и наполнению установочного пакета на портативном устройстве и подбираете подходящий для этой цели планшет? Тогда я советую Вам посетить страничку asus.technoportal.ua/tablet.html (http://asus.technoportal.ua/tablet.html), где представлен широчайший ассортимент планшетных компьютеров на любой вкус!

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх