CPACK/WiX extensions unusable because of hard-coded XML namespace
In order to use WiX extensions, one must declare an additional XML namespace for each extension to be used as prefix. An example:
To use the WixFirewallExtension to add a rule in windows firewall, in addition to use -ext WixFirewallExtension which can be configured by setting CPACK_WIX_EXTENSIONS, the source Wix element in a wxs source must contain something like this:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fw="http://schemas.microsoft.com/wix/FirewallExtension"
RequiredVersion="3.6.3303.0">
similar, includes must contain the same namespace declaration like this:
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fw="http://schemas.microsoft.com/wix/FirewallExtension">
In above examples, a custom namespace fw is declared. Given that, the actual extension element snippet then would look like this:
<
<Component Id="CreateApacheFirewallException">
<fw:FirewallException Description="Allow incoming traffic for apache httpd" File="<FileId of httpd.exe>"
Id="ApacheFirewallException" Name="Apache" Scope="any" />
</Component>
Unfortunately, the CPACK WiX generator has no way of specifying those additional namespaces. For the main wxs, this could be solved by using a custom template (CPACK_WIX_TEMPLATE), but for the various generated includes (e.g. files.wxs) this is currently hardcoded and thus effectively renders any WiX extension unusable.
I'd suggest adding something like CPACK_WIX_CUSTOM_XMLNS which could be a list of strings in the form name=url
Related WiX docs: