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_
_DISPLAY_NAME для компонентов.
-
CPACK_WIX_ROOT_FEATURE_DESCRIPTION -
Устанавливает описание корневого компонента установки в установщике WiX. Аналогично CPACK_COMPONENT_
_DESCRIPTION для компонентов.
-
CPACK_WIX_SKIP_PROGRAM_FOLDER -
Если эта переменная установлена в true, стандартное расположение установки создаваемого пакета будет CPACK_PACKAGE_INSTALL_DIRECTORY напрямую. Расположение установки не будет находиться относительно ProgramFiles или ProgramFiles64.
Примечание
Установщики, созданные с помощью этой функции, не учитывают различия между системой, на которой создаётся установщик, и системой, на которой он может быть использован.
Поэтому возможно, что установщик, например, попытается установить на недоступный или нежелательный диск или путь, не соответствующий локализации или соглашениям системы, на которой выполняется установка.
-
CPACK_WIX_ROOT_FOLDER_ID -
Эта переменная позволяет указать кастомный идентификатор корневой папки. Генератор-специфический токен
<64>может использоваться для идентификаторов папок, которые существуют в 32-битной и 64-битной версиях. В 32-битных сборках токен будет расширяться пустым значением, а в 64-битных сборках —64.При отсутствии переменной, сгенерированные установщики по умолчанию будут устанавливаться в
ProgramFiles<64>Folder.
-
CPACK_WIX_ROOT -
Эта переменная может быть необязательно задана как корневой каталог пользовательской установки WiX Toolset.
Если не указана, CPack попытается найти установку WiX Toolset через переменную окружения
WIX.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/CPackWIX.html