все что связано с моей работой
Главная » Учебник WiX » Приступая к работе

Приступая к работе

Как мы уже упомянули во введении, набор инструментальных средств WiX использует в качестве исходных файлов текстовые файлы формата XML, описывающие компоненты, которые составляют процесс установки нашего приложения, а так же дополнительные данные о ярлыках, об изменениях в реестре или .ini файлах, службах и другое. В дополнение к файлам, которые Вы хотите скопировать на диск пользователя, пакет установки может содержать также вспомогательные файлы, которые принимают участие в установке, но не будут фактически установлены (это могут быть диалоговые окна, значки и битовые массивы для установки UI, лицензия или readme файлы, или пользовательские DLL, чтобы выполнить задачи, которые установщик Windows не поддерживает, включая запрос регистрации пользователя или проверку ключевой информации, которую Вы могли бы хотеть реализовать).

Все они будут описаны в исходных файлах, которые будут скомпилированы компилятором WiX. Набор утилит состоит из нескольких частей, и мы будем использовать две из них. Предположим, что мы подготовили файл Sample.wxs, тогда команда

 candle.exe Sample.wxs 

выполнит первую фазу компиляции, создавая Sample.wixobj, полупереваренный файл (это — все еще XML, но его внутренняя структура уже не важна нам; думайте об этом как об объектном файле при обычной компиляции, например в С++). Вторая команда

 light.exe Sample.wixobj 

превратит это промежуточное представление в наш заключительный пакет, файл Sample.msi. Это утилиты очень похоже на компилятор и компоновщик. Фактически, даже больше: компоновщик, если мы не будем специально говорить ему “не делать этого”, запускает этап проверки, который проверяет готовую базу установщика на сотни возможных проблем.

При использовании современных компилятор, Вы больше не ограничиваетесь командной строкой. У интегрированных сред разработки, таких как Microsoft Visual Studio или SharpDevelop, также есть поддержка проектов WiX: или встроенные в IDE непосредственно или как дополнение. В случае Visual Studio, пакет WiX v3 устанавливает поддержку VS автоматически. Используя этот подход, Вы можете создать отдельный проект для инсталлятора или даже включать его как часть основного проекта. В этом случае Вам не придется даже оставлять свою среду программирования, чтобы создать заключительный установочный пакет.

Но, хотя аналогия компилятора и компоновщика является очень прямой, она может Вам помочь понять, как WiX фактически создает пакеты установки. Вы не должны рассматривать “исходник” WiX, который мы начнем писать через минуту, как сценарий или язык программирования. Мы не будем собирать шаги или операции, необходимые для установки нашего приложения. .msi файл, который будет устанавливать наше приложение, не является приложением установки, а базой данных установки. Логика программирования, знание о том, как устанавливать приложение, как изменять ключи реестра, как создать ярлыки, пользователей и сетевые ресурсы, как управлять веб-каталогами или службами, находятся в Windows Installer. Наш настроечный файл только описывает то, что Windows Installer сделает.

Такой подход в виде “базы данных” означает, что наши исходные файлы WiX не созданы как обычные программы. Не существует понятия последовательного выполнения в WiX, первая строка исходного кода не предполагает выполнения следующей. Не будет никаких объявлений, которые должны предшествовать. Разные элементы могут быть описаны в разных местах, везде, где требуется обратиться, используются уникальные идентификаторы, которые мы должны обеспечить. Если Вы хотите думать с точки зрения языков программирования, рассмотрите WiX как функциональный, дескриптивный язык, а не обязательный, предписывающий.

Также отметьте, что WiX- не собственная среда установки. Это просто удобный способ описать Ваши требования установки в XML формате, который потом будет преобразован в Windows Installer (.msi файл) компилятором и компоновщиком. В этом отношении WiX — относительно тонкая обертка вокруг технологии Windows Installer, и, в то же время, действительно обеспечивает дополнительную функциональность, чтобы помочь разработчикам инсталляторов, ее возможности продиктованы базовой технологией, и не ограничиваются ничем, кроме ограничений самого Windows Installer.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.