CPackWIX
Указание специфичных для генератора CPack WiX параметров
Переменные, специфичные для генератора CPack WiX
Следующие переменные специфичны для установщиков, созданных на Windows с использованием WiX.
-
CPACK_WIX_UPGRADE_GUID -
GUID обновления (
Product/@UpgradeCode)Автоматически генерируется, если не указан явно.
Должен быть явно задан как константа, глобально уникальный идентификатор (GUID), чтобы установщики могли заменять существующие установки, использующие тот же GUID.
Например, вы можете явно задать эту переменную в вашем CMakeLists.txt с значением, сгенерированным по умолчанию. Не следует использовать GUID, который вы не сгенерировали сами или который может принадлежать другим проектам.
GUID должен иметь следующий фиксированный синтаксис:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
(каждая X представляет собой верхний регистр шестнадцатеричной цифры)
-
CPACK_WIX_PRODUCT_GUID -
GUID продукта (
Product/@Id)Автоматически генерируется, если не указан явно.
Если указан явно, это задаст идентификатор продукта вашего установщика.
Установка прервётся, если будет обнаружена существующая установка, использующая тот же GUID.
GUID должен использовать синтаксис, описанный для CPACK_WIX_UPGRADE_GUID.
-
CPACK_WIX_LICENSE_RTF -
RTF-файл лицензии
Если у CPACK_RESOURCE_FILE_LICENSE расширение .rtf, он используется как есть.
Если у CPACK_RESOURCE_FILE_LICENSE расширение .txt, он неявно преобразуется в RTF генератором WiX. Ожидаемая кодировка файла .txt — UTF-8.
С помощью CPACK_WIX_LICENSE_RTF можно переопределить файл лицензии, используемый генератором WiX, в случае, если CPACK_RESOURCE_FILE_LICENSE имеет неподдерживаемый формат или преобразование .txt -> .rtf не работает как ожидается.
-
CPACK_WIX_PRODUCT_ICON -
Иконка, отображаемая рядом с именем программы в окне «Установка и удаление программ».
Если задано, эта иконка используется вместо стандартной.
-
CPACK_WIX_UI_REF -
Эта переменная позволяет переопределить идентификатор элемента
<UIRef>в шаблоне WiX.По умолчанию используется
WixUI_InstallDir, если не определены компоненты CPack, иWixUI_FeatureTreeв противном случае.
-
CPACK_WIX_UI_BANNER -
Растровый рисунок будет отображаться в верхней части всех страниц установщика, кроме диалогов приветствия и завершения.
Если задано, этот рисунок заменит стандартный баннер.
Этот рисунок должен иметь размер 493 на 58 пикселей.
-
CPACK_WIX_UI_DIALOG -
Фоновый растровый рисунок, используемый на диалогах приветствия и завершения.
Если эта переменная установлена, установщик заменит стандартное изображение диалога.
Этот рисунок должен иметь размер 493 на 312 пикселей.
-
CPACK_WIX_PROGRAM_MENU_FOLDER -
Имя папки в меню Пуск для запуска.
Если эта переменная не задана, она инициализируется значением CPACK_PACKAGE_NAME.
-
CPACK_WIX_CULTURES -
Язык(и) установщика
Языки компилируются в библиотеку расширений WixUI. Для их использования просто укажите имя культуры. Если вы укажете более одного идентификатора культуры в списке, разделенном запятыми или точками с запятой, будет использоваться первый найденный. Список поддерживаемых языков можно найти по адресу: http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
-
CPACK_WIX_TEMPLATE -
Файл шаблона для генерации WiX
Если эта переменная задана, указанный шаблон будет использован для генерации файла WiX wxs. Это следует использовать, если требуется дальнейшая настройка выходных данных.
Если эта переменная не задана, будет использован стандартный шаблон MSI, включённый в CMake.
-
CPACK_WIX_PATCH_FILE -
Необязательный список XML-файлов с фрагментами, которые необходимо вставить в сгенерированные источники WiX
Эта необязательная переменная может использоваться для указания XML-файла, который генератор WiX будет использовать для вставки фрагментов в сгенерированные исходные файлы.
Файлы патчей, понимаемые генератором CPack WiX, в общих чертах следуют этой компактной схеме RELAX NG:
start = CPackWiXPatch CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* } CPackWiXFragment = element CPackWiXFragment { attribute Id { string }, fragmentContent* } fragmentContent = element * - CPackWiXFragment { (attribute * { text } | text | fragmentContent)* }В настоящее время фрагменты могут быть вставлены в большинство элементов Component, File, Directory и Feature.
Можно использовать следующие дополнительные специальные идентификаторы:
-
#PRODUCTдля элемента<Product>. -
#PRODUCTFEATUREдля корневого элемента<Feature>.
Следующий пример иллюстрирует, как это работает.
Предполагая, что генератор WiX создаёт следующий XML-элемент:
<Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
Следующий XML-файл патча может использоваться для вставки элемента Environment в него:
<CPackWiXPatch> <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe"> <Environment Id="MyEnvironment" Action="set" Name="MyVariableName" Value="MyVariableValue"/> </CPackWiXFragment> </CPackWiXPatch> -
-
CPACK_WIX_EXTRA_SOURCES -
Дополнительные исходные файлы WiX
Эта переменная предоставляет необязательный список дополнительных исходных файлов WiX (.wxs), которые должны быть скомпилированы и связаны. Требуется полный путь к исходным файлам.
-
CPACK_WIX_EXTRA_OBJECTS -
Дополнительные объектные файлы WiX или библиотеки
Эта переменная предоставляет необязательный список дополнительных объектных файлов WiX (.wixobj) и/или библиотек WiX (.wixlib). Требуется полный путь к объектам и библиотекам.
-
CPACK_WIX_EXTENSIONS -
Эта переменная предоставляет список дополнительных расширений для инструментов WiX light и candle.
-
CPACK_WIX_<TOOL>_EXTENSIONS -
Это инструмент-специфичная версия CPACK_WIX_EXTENSIONS.
<TOOL>может быть либо LIGHT, либо CANDLE.
-
CPACK_WIX_<TOOL>_EXTRA_FLAGS -
Эта переменная списка позволяет передавать дополнительные флаги инструменту WiX
<TOOL>.Используйте с осторожностью. Будущие версии CPack могут генерировать флаги, которые могут вступать в конфликт с вашими собственными флагами.
<TOOL>может быть либо LIGHT, либо CANDLE.
-
CPACK_WIX_CMAKE_PACKAGE_REGISTRY -
Если эта переменная задана, сгенерированный установщик создаст запись в ключе реестра Windows
HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>. Значение для<package>предоставляется этой переменной.Если вы также установите файл конфигурации CMake, это позволит другим проектам CMake найти ваш пакет с помощью команды
find_package().
-
CPACK_WIX_PROPERTY_<PROPERTY> -
Эта переменная может быть использована для задания значения свойства установщика Windows
<PROPERTY>.Следующий список содержит примеры свойств, которые могут быть использованы для настройки информации в «Программы и компоненты» (также известные как «Установка и удаление программ»)
- ARPCOMMENTS - Комментарии
- ARPHELPLINK - URL справки и поддержки
- ARPURLINFOABOUT - URL общей информации
- ARPURLUPDATEINFO - URL информации об обновлении
- ARPHELPTELEPHONE - Номер телефона справки и поддержки
- ARPSIZE - Размер (в килобайтах) приложения
-
CPACK_WIX_ROOT_FEATURE_TITLE
Устанавливает имя корневого элемента установки в установщике WiX. Аналогично CPACK_COMPONENT_
-
CPACK_WIX_ROOT_FEATURE_DESCRIPTION
Устанавливает описание корневого элемента установки в установщике WiX. Аналогично CPACK_COMPONENT_
-
CPACK_WIX_SKIP_PROGRAM_FOLDER
Если эта переменная установлена в значение true, стандартное расположение установки сгенерированного пакета будет CPACK_PACKAGE_INSTALL_DIRECTORY напрямую. Расположение установки не будет относительно папок ProgramFiles или ProgramFiles64.
Примечание
Установщики, созданные с этим параметром, не учитывают различия между системой, на которой создаётся установщик, и системой, на которой он может использоваться.
Вследствие этого, установщик, например, может попытаться установить на недоступный или нежелательный диск или по пути, который не соответствует локализации или соглашениям системы, на которой выполняется установка.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.8/module/CPackWIX.html