Среда установки Qt, как использовать

Обновлено: 30.06.2024

Разработка – не единственная часть выпуска продукта. Развертывание и обслуживание – одинаково важные части жизненного цикла продукта. Вот почему Qt помогает нам, предоставляя Installer Framework. Это набор инструментов, который позволяет не только создавать красивые и функциональные установщики, но и обновлять приложение, предоставлять инструменты для его обслуживания и многое другое. В этом руководстве вы изучите основы Qt Installer Framework и узнаете, как создать свой первый автономный установщик для Windows. Поехали!

Как получить Qt Installer Framework?

Инфраструктуру Qt Installer можно легко установить с помощью инструмента обслуживания Qt или загрузить из репозитория Qt. При использовании инструмента обслуживания его можно найти в разделе Инструменты разработчика и дизайнера:

После загрузки он должен храниться в [QtDirectory]/Tools/QtInstallerFramework

Как сгенерировать установщик с помощью Qt Installer Framework?

1. Создайте папку развертывания

Перед созданием установщика необходимо подготовить приложение к развертыванию. Первый шаг — создать папку развертывания, в которой будут храниться все файлы, необходимые для выполнения приложения и создания установщика. Внутри него вы должны создать две директории: «config» и «packages».

Как следует из названия, первый каталог будет содержать файлы конфигурации для вашего установщика — в данном случае один XML-файл. Что должен содержать этот файл?

2. Создайте файл конфигурации

Файл конфигурации содержит некоторую общую информацию о приложении: каталог установки, имя установщика и т. д. Вы можете сделать некоторые интересные вещи, изменив этот файл — например, добавить флажок «запустить после установки», изменить установщик Пользовательский интерфейс или даже добавить удаленные репозитории для получения обновлений приложений. Вы можете узнать обо всех доступных тегах в документации установщика Qt.

Давайте создадим такой файл. Основной должен выглядеть так:

Несмотря на минимализм, пока этого будет достаточно.

3. Создать пакет

Прежде чем идти дальше, вы должны узнать, что на самом деле представляет собой пакет. Пакет — это модуль, который содержит определенную версию или некоторые части приложения. Если вы включаете много пакетов, установку можно настроить — пользователи могут выбрать, что они хотят установить. Сам Qt является отличным примером такого подхода. Давайте взглянем на древовидную структуру программы установки Qt:

< бр />

Как видите, платформа разделена на несколько пакетов, содержащих комплекты для разных платформ и модули с дополнительными функциями, такими как веб-движок.

С этими знаниями вы теперь можете приступить к созданию первых пакетов для нашего приложения. Чтобы все было ясно и просто, пока мы будем использовать только два пакета: 64-разрядную версию приложения и 32-разрядную версию.

Начните с создания правильных каталогов для пакетов. Мы будем придерживаться шаблона именования «com.developername.shortpackagename»:

Что насчет содержимого пакетов? Давайте начнем их заполнять!

4. Добавить метаданные

Каждый пакет должен содержать внутри два основных каталога: «данные» и «мета». Первый будет содержать исполняемые файлы, библиотеки и другие файлы, необходимые для запуска приложения, а второй — информацию о пакете. В этом случае папка «Мета» будет содержать только два файла, поэтому начните с нее.

Метаданные должны состоять из файлов «license.txt» и «package.xml». Текстовый файл очевиден — он предоставляет установщику лицензионное содержимое. Он не имеет обязательного формата, но HTML-теги поддерживаются, если вам нужен стиль.

Теперь давайте поговорим о «package.xml» — это более интересно. Этот файл содержит информацию о пакете, которая будет представлена ​​в окне установщика. Добавляя дополнительные теги, вы можете добавлять пользовательские страницы установщика, переводы, зависимости между другими пакетами и многое другое. Мы еще поговорим об этом файле, в другой части туториала, которая будет опубликована в будущем. На данный момент содержимое «package.xml» должно выглядеть так:

Большинство тегов говорят сами за себя. Если вы хотите узнать больше о других тегах, см. документацию.

5. Заполнить каталог данных

Когда вы добавляете необходимые файлы в каталог «meta», переместите один из них в папку «data». Этот каталог содержит все файлы приложения, которые содержит пакет. При установке пакета его содержимое будет распаковано в целевой каталог. Чтобы сохранить папку установки чистой, мы предлагаем создать дополнительную подпапку в каталоге данных.

Поскольку уже существует большое количество папок, о которых мы говорили, мы назовем эту «каталог файлов пакетов». С этим отслеживать было бы проще.

Теперь начинается важная часть подготовки к развертыванию.В каталог файлов пакета вам нужно добавить значительное количество файлов, необходимых для запуска приложения вне IDE Qt Creator: все исполняемые файлы, Qt и внешние библиотеки, файлы dll и т. д. К счастью, Qt Framework поможет нам в этом. путем предоставления набора инструментов для развертывания.

Теперь добавьте исполняемый файл в каталог файлов пакета. Просто скопируйте его из папки сборки. Теперь откройте терминал командной строки в каталоге файлов пакета. Это необходимо для запуска «windeployqt.exe» — инструмента, созданного для автоматической загрузки всех dll-файлов Qt, необходимых для запуска приложения. Чтобы запустить этот инструмент, используйте эту команду:

Эта команда добавляет (почти) все необходимые двоичные файлы и файлы, необходимые для запуска приложения на основе QML. Флаг -qmldir используется для сканирования кода QML и добавления всех необходимых библиотек времени выполнения из модуля Qt Quick. После этого флага поставьте каталог вашего проекта — не беспокойтесь, он будет рекурсивно сканироваться. Если ваше приложение не основано на QML, вы можете пропустить этот флажок.

В учебном случае полная команда должна выглядеть так:

Когда инструмент закончит свою работу, вы увидите, что теперь каталог с файлами пакета становится переполненным.

< бр />

В настоящее время инструмент windeployqt имеет тенденцию отправлять сюда много ненужных файлов, но даже сейчас нет всех необходимых файлов. Еще нет…

6. Добавьте файлы для компилятора

В этом руководстве описывается, как создать простую программу установки для небольшого проекта:


В этом разделе описываются следующие задачи, которые необходимо выполнить для создания установщика:

  1. Создайте каталог пакетов, который будет содержать все файлы конфигурации и устанавливаемые пакеты.
  2. Создайте файл конфигурации, содержащий информацию о том, как создавать двоичные файлы установщика и онлайн-репозитории.
  3. Создайте файл с информацией о пакете, содержащий информацию об устанавливаемых компонентах.
  4. Создайте содержимое установщика и скопируйте его в каталог пакета.
  5. Используйте инструмент binarycreator для создания установщика.

Страницы установщика создаются с использованием информации, которую вы предоставляете в файле конфигурации и информации о пакете.

Файлы примеров расположены в каталоге examples\tutorial репозитория Qt Installer Framework.

Создание каталога пакетов

Создайте структуру каталогов, отражающую дизайн программы установки и позволяющую расширять программу установки в будущем. Каталог должен содержать подкаталоги с именами config и packages .


Дополнительную информацию о каталоге пакетов см. в разделе Каталог пакетов.

Создание файла конфигурации

В каталоге config создайте файл config.xml со следующим содержимым:

Файл конфигурации определяет следующую информацию, которая отображается на странице введения:

  • Элемент указывает имя установщика, отображаемое в строке заголовка (1).
  • Элемент указывает имя приложения, которое добавляется к названию страницы и вводному тексту (2).


Другие элементы используются для настройки поведения установщика:

  • Элемент указывает номер версии приложения.

Дополнительную информацию о формате файла конфигурации и доступных элементах см. в разделе Файл конфигурации.

Создание файла информации о пакете

В этом простом сценарии программа установки обрабатывает только один компонент с именем com.vendor.product . Чтобы предоставить установщику информацию о компоненте, создайте файл package.xml со следующим содержимым и поместите его в метакаталог:

Элементы в файле примера более подробно описаны ниже.

Дополнительную информацию о файле информации о пакете см. в разделе Синтаксис файла информации о пакете.

Указание информации о компоненте

На странице выбора компонентов отображается информация из следующих элементов:

  • Элемент указывает имя компонента в списке компонентов (1).
  • Элемент определяет текст, который отображается при выборе компонента (2).


Указание версии установщика

Элемент позволяет продвигать обновления для пользователей, когда они становятся доступными.

Добавление лицензий


Выбор содержимого по умолчанию

Элемент указывает, выбран ли компонент по умолчанию. Значение true устанавливает компонент как выбранный. В этом примере мы используем сценарий значения для разрешения значения во время выполнения. Имя файла сценария JavaScript, installscript.qs, указывается в элементе.

Создание содержимого установщика

Содержимое, которое необходимо установить, хранится в каталоге данных компонента. Поскольку компонент только один, поместите данные в каталог packages/com.vendor.product/data. В примере уже есть файл для тестирования, но вы можете поместить в каталог практически любые файлы.

Дополнительную информацию о правилах и параметрах упаковки см. в разделе Каталог данных.

Создание двоичного файла установщика

Теперь вы готовы создать свой первый установщик. Перейдите в каталог examples\tutorial в командной строке. Чтобы создать программу установки YourInstaller.exe, содержащую пакеты, определенные com.vendor.product, введите следующую команду:

Установщик создается в текущем каталоге, и вы можете доставить его конечным пользователям.

Дополнительную информацию об использовании инструмента binarycreator см. в разделе binarycreator.

Примечание. Если при запуске учебной программы установки отображается сообщение об ошибке, убедитесь, что вы использовали статически собранный Qt для создания программы установки. Дополнительные сведения см. в разделе Настройка Qt.

© 2021 The Qt Company Ltd. Права на документацию, включенную в настоящий документ, принадлежат их соответствующим владельцам. Предоставленная здесь документация распространяется под лицензией GNU Free Documentation License версии 1.3, опубликованной Free Software Foundation. Qt Company, Qt и их соответствующие логотипы являются товарными знаками The Qt Company Ltd в Финляндии и/или других странах мира. Все остальные товарные знаки являются собственностью соответствующих владельцев.

Как первое взаимодействие пользователя с вашим настольным приложением, критическое, необходимое и, надеюсь, приятное, программа установки часто упускается из виду и нуждается в некоторой любви. Итак, чтобы отдать должное, вот обзор инструмента, который может помочь: Qt Installer Framework.

Установка программы установки

Предустановленная версия фреймворка поставляется с Qt; вам просто нужно проверить «Qt Installer Framework 3.0» на странице компонентов программы установки Qt. И да, если вам интересно, собственный установщик Qt был реализован с использованием этого фреймворка.

Он также доступен здесь как отдельный модуль. Для более предприимчивых модуль может быть собран из исходного кода, размещенного в этом репозитории git. Он должен быть статически связан с Qt.

Пример

После того, как все настроено, в каталоге bin фреймворка программа binarycreator может сгенерировать настраиваемый установщик для любого приложения Qt. Чтобы проиллюстрировать его использование, вот пример небольшого проекта qmake, в котором генерация установщика приложения является частью сборки. Этот конкретный пример был протестирован в Windows с Qt 5.11.2 и компилятором MinGW. Однако фреймворк является кроссплатформенным, и перенос этого примера на другие платформы должен быть беспрепятственным, задействуя только инструмент развертывания, кратко описанный далее в этом блоге. Он размещен в репозитории git здесь.

Соберите проект, и произойдет следующее:

Приложение создается и помещается в определенный каталог данных.

Этот каталог становится доступным для развертывания путем добавления в него необходимых библиотек Qt.

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

Структура проекта состоит из двух каталогов, один из которых содержит исходный код простого приложения Qt с именем AwesomeWorld, а другой содержит исходный код установщика, который его упаковывает.

В файле pro каталога AwesomeWorld есть директива для размещения созданного приложения в определенном месте:

Содержимое этого конкретного места упаковывается в программу установки путем вызова binarycreator в файле pro каталога AwesomeWorld-Installer:

Файл pro в этом примере предполагает, что Qt Installer Framework находится в папке C:/Qt/Tools/QtInstallerFramework/3.0. Вы можете изменить его, чтобы он отражал вашу среду разработки, изменив его в файле pro.

В pro-файле AwesomeWorld-Installer также есть директива, позволяющая сделать содержимое каталога данных доступным для развертывания. Приложение Windeploqt, поставляемое с Qt, добавляет в эту папку связанные с Qt зависимости, необходимые для запуска любого содержащегося в нем приложения на любом рабочем столе Windows, независимо от того, установлен Qt или нет. Эквивалентом для Mac является инструмент macdeployqt, который также поставляется с Qt.


AwesomeWorld
Это удивительный мир
1.0.0-1
01.01.2019
true

Он должен быть в каждом пакете.Обратите внимание, что для этого пакета указан сценарий installscript.qs. Он определяет операции, которые должен выполнить установщик, чтобы установить компонент. В этом случае он добавит ярлык в меню «Пуск» Windows.

Файл конфигурации config.xml является основным входным файлом AwesomeWorld-Installer. Он обеспечивает общую настройку пользовательского интерфейса установщика.


Aero

AwesomeWorld
@HomeDir@/AwesomeWorld

В этом документе перечислены все атрибуты, которые можно установить.

Результат

Сгенерированный установщик типичен для обычных страниц:

Введение

Страница выбора каталога

Страница выбора компонентов

Страница лицензионного соглашения

Страница выбора группы Windows

Страница "Я устанавливаю"

Если для параметра WizardStyle в файле конфигурации задано значение «Aero», отдельные страницы будут выглядеть следующим образом:


Дальнейшая настройка

Дальнейшая настройка установщика ограничена и сложна. К счастью, фреймворк предоставляет примеры, которые могут послужить источником вдохновения. Пример динамической страницы, например, заменяет страницы по умолчанию своим собственным пользовательским интерфейсом с использованием файлов пользовательского интерфейса, указанных в Qt Designer:

Среди атрибутов в файле config.xml вы можете указать имя сценария управления, например: controlscript.qs

Это позволяет использовать некоторые дополнительные функции, указанные в файле controlscript.qs, расположенном рядом с config.xml. Вот обзор API, использующего этот метод.

Наконец, установщик может получать пакеты из онлайн-источника с помощью инструмента repogen, который находится в каталоге bin фреймворка.

Заключение

Я успешно использовал эту структуру в своих проектах Qt для Windows. Время, затраченное на внедрение установщика, было минимальным, как и должно быть, поскольку пользователь взаимодействует с установщиком только один раз, ненадолго. Сочетание его с процессом сборки позволяет легко передать тестировщикам. Однако, если желаемый установщик отличается от стандартного, его настройка может оказаться сложной. Лучше всего делать это просто!

Об авторе

Кристофер Пробст

Кристофер Пробст (Christopher Probst) — сертифицированный инженер-программист Qt и инструктор ICS. Он работал над различными проектами, от написания приложений с графическим интерфейсом для дистрибутива Linux, внедрения приложений для приборной панели автомобиля до разработки многоплатформенного настольного приложения MDI, которое управляет экономическими моделями. Сегодня он делит свое время между консультированием, развитием и обучением. Он свободно говорит на английском, французском и немецком языках и получил степень бакалавра и магистра компьютерных наук в Университете Шербрука в Квебеке.

Эта фиксация не принадлежит ни к одной из веток в этом репозитории и может принадлежать ответвлению за пределами репозитория.

  • Открыть с рабочего стола
  • Просмотреть в необработанном виде
  • Копировать исходное содержимое Копировать необработанное содержимое

Копировать необработанное содержимое

Копировать необработанное содержимое

Создайте установщики "Qt Installer Framework" из вашего проекта с помощью qmake

Важно: в версии 2.0.0 полностью изменился API. Теперь шаг make install используется для подготовки всех файлов, чтобы генерация развертывания/установщика работала с установленными файлами. Внимательно прочитайте документацию, чтобы понять, как изменить ваши файлы pro! (Старый код все еще существует как старая ветка или как пакеты qpm до версии 2.0.0)

  • Простое создание установщиков с помощью qmake
  • Windows: автоматическое включение msvc libs в качестве установки (при необходимости)
  • Расширяет функциональность установщика по умолчанию:
    • обеспечить удаление только для автономных установщиков
    • Скрыть удаление/. специальным ключом командной строки
    • Добавляет локальную или глобальную установку
      • Для глобальной установки требуется наличие прав администратора или root и выбор глобального расположения.
      • При локальной установке используются пользовательские каталоги.
      • Maintenancetool обеспечивает привилегию при глобальной установке.
      • использует инструменты развертывания qt для развертывания вашего приложения
      • возможность включения пользовательских переводов и переводов Qt
      • флажок автоматического развертывания для еще большей автоматизации развертывания

      Пакет предоставляется как пакет qpm, de.skycoder42.qtifw-advanced-setup. Вы можете установить его либо через qpmx (предпочтительно), либо напрямую через qpm.

      qpmx — это интерфейс для qpm (и других инструментов) с дополнительными функциями, и это предпочтительный способ установки пакетов. Чтобы использовать его:

      1. Установите qpmx (см. GitHub — Установка)
      2. Установите qpm (см. GitHub — Установка, для Windows см. ниже)
      3. В корневом каталоге вашего проекта запустите qpmx install de.skycoder42.qtifw-advanced-setup
      1. Установите qpm (см. GitHub — Установка, для Windows см. ниже)
      2. В корневом каталоге вашего проекта запустите qpm install de.skycoder42.qtifw-advanced-setup
      3. Включите qpm в свой проект, добавив include(vendor/vendor.pri) в файл .pro

      Посетите их GitHub — Usage for App Developers, чтобы узнать больше о qpm.

      Чтобы использовать QtIFW-Advanced-Setup, необходимо установить следующее:

      • QtIFW: в идеале как часть вашей установки Qt. Воспользуйтесь онлайн-установщиком и найдите его в разделе Qt > Tools
      • .
      • Python 3: сценарий pyhton используется для создания установщика на основе входных данных. Таким образом, вам необходимо установить Python 3!
      • linuxdeployqt: если вы хотите использовать функцию развертывания в Linux, вам потребуется linuxdeployqt (см. следующую главу)

      Поскольку Qt не предоставляет собственного инструмента развертывания для Linux, я использую linuxdeployqt в этом пакете. Этот инструмент необходимо поместить в каталог установки Qt. Чтобы упростить этот шаг, вы можете запустить скрипт get_linuxdeployqt_compat.sh. Сценарий создает и устанавливает linuxdeployqt в каталог установки Qt.

      Это всего лишь обходной путь, и хотя сценарий останется, метод установки linuxdeployqt может со временем измениться.

      Идея такова: вы указываете файлы и каталоги через свой профайл и запускаете make для развертывания, создания установщика или того и другого.

      При использовании всех функций qtifw объем необходимой работы сокращается до следующего:

      1. Используйте make install target, чтобы скопировать все файлы, необходимые для вашего установщика, в каталог сборки установщика.
      2. настроить создание установщика с помощью переменных и конфигураций qmake
      3. Запустите цели make, для которых вы хотите создать установщик, и используйте INSTALL_ROOT, чтобы указать, где это сделать.

      Создание установщика состоит из 5 целей, которые зависят друг от друга. Это означает, что вам нужно запустить эти 5 целей make, чтобы сгенерировать установщик. Однако для простоты вы можете включить одну «главную цель» с именем qtifw для выполнения всех 5 шагов с помощью одной команды. Кроме того, существует цель qtifw-build, которая автоматически устанавливает подпапку в вашем каталоге сборки как INSTALL_ROOT. Ниже приведены шаги, которые более подробно объясняются ниже:

      1. lrelease (необязательно, отключено по умолчанию)
      2. установить
      3. развернуть
      4. установщик
      5. qtifw-compress (необязательно, включено по умолчанию)

      Вкратце: просто правильно настройте файл pro, а затем запустите make qtifw-build, чтобы выполнить все необходимые действия. Проект Example показывает полный пример использования QtIFW-Advanced-Setup.

      Переводы ( make lrelease )

      Шаг lrelease — это необязательный шаг, предоставляемый qpmx, который создает файлы qm для всех переводов, указанных в переменной qmake TRANSLATIONS. Дополнительные сведения см. в разделе qpmx — Переводы.

      При использовании цели qtifw переводы не создаются по умолчанию. Вы можете включить их, добавив CONFIG += qtifw_auto_ts в свой файл pro.

      Пример кода для файла pro будет выглядеть следующим образом:

      Имя переменной Значение по умолчанию Описание
      ПЕРЕВОДЫ пусто Создаваемые переводы
      EXTRA_TRANSLATIONS < em>пусто Необходимо сгенерировать дополнительные переводы

      Установить цели (с автоматически заполненными файлами target.files)

      • qpmx_ts_target : установить цель для ПЕРЕВОДОВ.
      • extra_ts_target : установить цель для EXTRA_TRANSLATIONS

      Установка ( make install )

      Целевые объекты установки следует использовать для подготовки приложения к развертыванию/созданию установщика путем размещения всех файлов там, где они должны быть для установщика. Установка должна выглядеть так:

      Каталог config должен содержать все файлы конфигурации установщика. Каталог пакета должен состоять из нескольких подкаталогов, названных в честь пакета установщика, в котором он находится. QtIFW нужна внутренняя структура этих каталогов пакетов.

      Чтобы продолжить этот пример, можно использовать следующий код qmake для создания такой установки:

      Просто запустите make INSTALL_ROOT=. install скопирует все указанные файлы, а также все дополнительные материалы, необходимые для создания установщика.

      Важно: чтобы это работало, вы всегда должны указывать установочный корень в качестве параметра make. Все установки, как указано выше, будут помещены в этот каталог - это означает, что если вы забудете об этом, это установит их в вашу корневую файловую систему! Однако при использовании цели qtifw-build вам не нужно об этом заботиться.

      Развертывание ( make deploy )

      Развертывание выполняется на уже установленном двоичном файле, поэтому все развернутые файлы автоматически помещаются в каталоги установщика. Цель развертывания определяется автоматически с помощью target.path, чтобы узнать, где найти двоичный файл проекта. Однако вы также можете сами указать цель развертывания, задав qtifw_deploy_target.Поэтому, если вам не нужно указывать дополнительные цели развертывания, вам обычно вообще ничего не нужно настраивать в файле pro для этого шага!

      Цель qtifw_deploy_target

      Целевое свойство Значение по умолчанию Описание
      путь $$ Путь для поиска двоичных файлов для развертывания в
      файлы $$$$ Двоичные файлы для развертывания. По умолчанию это основная цель вашего проекта, который вы создаете.

      Создание установщика ( make installer )

      На этом шаге создается фактический установщик QtIFW и/или репозитории из ранее установленных и развернутых файлов. Как и в предыдущих шагах, он использует INSTALL_ROOT для поиска каталогов конфигурации и пакетов и использует их содержимое для создания установщика. Они создаются в одном и том же каталоге. Вы можете настроить способ выполнения генерации, используя следующие переменные qmake.

      Важно: если не используется режим qtifw или qtifw-build, вы должны явно разрешить установку дополнительных файлов установщика, необходимых для создания установщика. Это делается путем добавления CONFIG += qtifw_install_targets в ваш файл pro. Это не требуется, если у вас уже есть строка CONFIG += qtifw_target в вашем файле pro.

      Примечание для пользователей Windows. В msvc2015 или более ранней версии файлы vcredist выглядят несколько странно и не позволяют удалить их копии с помощью чего угодно, кроме проводника. Это означает, что только при первом создании установщика он работает нормально. После этого вам нужно самостоятельно удалить папку сборки через проводник, прежде чем вы сможете снова собрать установщик. Эта проблема, кажется, исчезла с msvc2017.

      Сжатие репозитория ( make qtifw-compress )

      Последний необязательный шаг — сжатие репозиториев и пакета установщика для Mac. Эта цель не нуждается в какой-либо настройке. Он просто создаст сжатый архив репозиториев и комплект приложений на Mac для упрощения развертывания. Вам понадобятся инструменты tar и xz для Linux и Mac, инструмент zip для Mac и инструмент 7z для Windows.

      Вы можете отключить этот шаг для цели qtifw, добавив CONFIG += qtifw_no_compress в свой профессиональный файл.

      Цели qtifw высокого уровня ( make qtifw и make qtifw-build )

      Как указано в начале этого документа, цель qtifw — это, по сути, ярлык для выполнения всех вышеуказанных шагов с помощью одной команды. Чтобы включить эту цель, вы должны добавить CONFIG += qtifw_target в свой файл pro. Вы можете настроить поведение этой цели с помощью следующих конфигураций.

      Сборка qtifw — это дополнительный помощник, который может запускать qtifw с автоматически определенным корневым каталогом установки. Поэтому вместо запуска make INSTALL_ROOT=/path/to/build/qtifw-build qtifw вы можете просто использовать make qtifw-build . Путь /path/to/build заменяется на $$OUT_PWD из qmake.

      Важно: для работы классического qtifw вы всегда должны указать установочный корень в качестве параметра make. Все операции, как указано выше, будут выполняться внутри этого каталога - это означает, что если вы забудете об установке этого материала в вашу корневую файловую систему! Однако при использовании цели qtifw-build вам не нужно об этом заботиться.

      Этот модуль ищет расположение утилит командной строки, поставляемых с Qt Installer Framework (QtIFW).

      Модуль также определяет несколько команд для управления поведением генератора CPack IFW.

      Обзор¶

      Генератор CPack IFW помогает создавать интерактивные и автономные бинарные кроссплатформенные установщики с графическим пользовательским интерфейсом.

      Генератор CPack IFW подготавливает установку проекта и создает конфигурацию и метаинформацию для инструментов QtIFW.

      QtIFW предоставляет набор инструментов и утилит для создания установщиков для поддерживаемых настольных платформ Qt: Linux, Microsoft Windows и Mac OS X.

      Вы также должны установить QtIFW, чтобы использовать генератор CPack IFW. Если вы не используете путь по умолчанию для установки, укажите используемый путь в переменной QTIFWDIR .

      Переменные¶

      Вы можете использовать следующие переменные, чтобы изменить поведение генератора CPack IFW.

      Пакет¶

      Имя установщика, отображаемое в строке заголовка. По умолчанию используется CPACK_PACKAGE_DESCRIPTION_SUMMARY

      Издатель программного обеспечения (как показано в панели управления Windows). По умолчанию используется CPACK_PACKAGE_VENDOR

      URL-адрес страницы с информацией о продуктах на вашем веб-сайте.

      Имя файла для пользовательского значка установщика. Фактический файл — «.icns» (Mac OS X), «.ico» (Windows). Не работает в Unix.

      Имя файла пользовательского значка окна в формате PNG для приложения Installer.

      Имя файла для логотипа используется как QWizard::LogoPixmap.

      Целевой каталог по умолчанию для установки. По умолчанию используется «@ApplicationsDir@/CPACK_PACKAGE_INSTALL_DIRECTORY»

      Вы можете использовать предопределенные переменные.

      Целевой каталог по умолчанию для установки с правами администратора.

      Вы можете использовать предопределенные переменные.

      Группа, которая будет использоваться для настройки корневого пакета

      Имя корневого пакета, которое будет использоваться, если группа конфигурации не указана

      Список удаленных репозиториев.

      Значение этой переменной по умолчанию вычисляется CPack и содержит все репозитории, добавленные с помощью команды cpack_ifw_add_repository()

      Если этот параметр включен, будут загружены все компоненты. По умолчанию выключено или используется значение из CPACK_DOWNLOAD_ALL, если установлено

      Компоненты¶

      Разрешение повторяющихся имен при установке компонентов с группами.

      Дополнительные подготовленные каталоги пакетов, которые будут использоваться для разрешения зависимых компонентов.

      Инструменты¶

      Путь к клиенту командной строки «binarycreator».

      Эта переменная кэшируется и при необходимости может быть настроена пользователем.

      Путь к клиенту командной строки «repogen».

      Эта переменная кэшируется и при необходимости может быть настроена пользователем.

      Команды¶

      Модуль определяет следующие команды:

      Устанавливает аргументы, характерные для генератора CPack IFW.

      Эту команду следует вызывать после команды cpack_add_component.

      Если установлено значение COMMON, компонент будет упакован и установлен как часть группы, к которой он принадлежит.

      VERSION — версия компонента. По умолчанию используется CPACK_PACKAGE_VERSION .

      SCRIPT — это относительный или абсолютный путь к сценарию операций для этого компонента.

      ИМЯ используется для создания доменной идентификации для этого компонента. По умолчанию используется имя исходного компонента.

      PRIORITY – приоритет компонента в дереве.

      Список DEPENDS идентификаторов компонентов зависимостей в стиле QtIFW.

      ЛИЦЕНЗИИ пара и текста лицензии для этого компонента. Вы можете указать более одной лицензии.

      Устанавливает аргументы, характерные для генератора CPack IFW.

      Эту команду следует вызывать после команды cpack_add_component_group.

      ВЕРСИЯ — это версия группы компонентов. По умолчанию используется CPACK_PACKAGE_VERSION .

      ИМЯ используется для создания доменной идентификации для этой группы компонентов. По умолчанию используется имя исходной группы компонентов.

      SCRIPT — относительный или абсолютный путь к сценарию операций для данной группы компонентов.

      PRIORITY — это приоритет группы компонентов в дереве.

      ЛИЦЕНЗИИ пара и текста лицензии для этой группы компонентов. Вы можете указать более одной лицензии.

      Добавить удаленный репозиторий для QtIFW.

      Этот макрос также добавит репозиторий в переменную CPACK_IFW_REPOSITORIES_ALL

      Если установлено значение DISABLED, то репозиторий будет отключен по умолчанию.

      URL указывает на список доступных компонентов.

      USERNAME используется как пользователь в защищенном репозитории.

      PASSWORD — это пароль для использования в защищенном репозитории.

      DISPLAY_NAME – это строка, отображаемая вместо URL-адреса.

      Пример использования¶

      Онлайн-установщик¶

      По умолчанию генератор CPack IFW создает автономный установщик. Это означает, что все компоненты будут упакованы в двоичный файл.

      Чтобы сделать компонент загруженным, необходимо установить параметр DOWNLOADED в cpack_add_component() .

      Затем вы должны использовать команду cpack_configure_downloads() . Если вы выберете вариант ВСЕ, будут загружены все компоненты.

      Вы также можете использовать команду cpack_ifw_add_repository() и переменную CPACK_IFW_DOWNLOAD_ALL для более конкретной конфигурации.

      Генератор CPack IFW создает каталог «репозиторий» в текущем двоичном каталоге. Вы скопируете содержимое этого каталога на указанный сайт ( url ).

      Читайте также: