[cmake-developers] Improved WIX support

Stuermer, Michael SP/HZA-ZSEP michael.stuermer at schaeffler.com
Tue Jul 19 11:43:36 EDT 2016


Hello there,

in short:

I fixed some minor issues with WIX toolset support and added the possibility to integrate service installation/uninstallation with generated msi packages. Please review and comment what is missing for integration in upstream.

a bit longer:

When creating a component-based installer, the root component (or feature, as it is called in WIX context) cannot be named and described. This can now be done using CPACK_WIX_ROOT_COMPONENT_DISPLAY_NAME and CPACK_WIX_ROOT_COMPONENT_DESCRIPTION.

The install folder can only be set to a subfolder of ProgramFiles or ProgramFiles64. With the option CPACK_WIX_SKIP_PROGRAM_FOLDER it is now possible to set default installation paths on arbitrary locations such as "C:\myprogram". In order for this to work, the Guids of the WIX-Components must be explicitly set using CPACK_WIX_GENERATE_COMPONENT_GUIDS. Per default the Guids are auto generated using the value "*".

Disabling components by default using the CPACK_COMPONENT_<component_name>_DISABLED is now working.

With the install file properties CPACK_WIX_KEYPATH and CPACK_WIX_PROPERTY_<tagname> it is now possible to add custom tags (such as service handling) to the installer. If the custom tag depends on several files within the directory, bundling of several files in WIX-Components is needed. This can be done using CPACK_WIX_BUNDLE_COMPONENTS.

All new functionalities are documented and some small example snippets are added to the documentation.

I hope these changes make sense to you, if the documentation is not accurate enough or the naming of cmake properties/variables should be changed please let me know

Best Regards

Michael Stürmer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-improved-WIX-support.patch
Type: application/octet-stream
Size: 18378 bytes
Desc: 0001-improved-WIX-support.patch
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20160719/ec58702a/attachment.obj>


More information about the cmake-developers mailing list