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 -
Эта переменная позволяет переопределить Id элемента
<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_<compName>_DISPLAY_NAME для компонентов.
-
CPACK_WIX_ROOT_FEATURE_DESCRIPTION -
Устанавливает описание корневого элемента установки в установщике WiX. То же, что и CPACK_COMPONENT_<compName>_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.10/module/CPackWIX.html