MantisBT - CMake
View Issue Details
0013828CMakeCPackpublic2013-01-03 09:122014-03-05 09:58
Jeremy Cook 
Nils Gladitz 
normalfeaturealways
closedduplicate 
Windows 7
CMake 2.8.10.2 
 
0013828: Need additional functionality for WiX packager
I am using the WiX packager and would like to see more flexibility in the build configuration. For example:

pass the variable CPACK_PACKAGE_ICON to the WiX generator or in some other way set the WixVariables WixUIBannerBmp, WixUIDialogBmp and the property ARPPRODUCTICON

Either improve documentation with examples for WIX.template.in or create a way to add application shortcuts from CMakeLists
No tags attached.
duplicate of 0013789closed David Cole WIX additional support for Product Icon, UI Dialog and UI Banner 
Issue History
2013-01-03 09:12Jeremy CookNew Issue
2013-01-03 09:17Jeremy CookNote Added: 0031961
2013-01-03 10:46Eric NOULARDRelationship addedduplicate of 0013789
2013-05-06 07:39Richard UlrichNote Added: 0032974
2013-05-06 08:05Richard UlrichNote Added: 0032975
2013-05-06 08:21Eric NOULARDNote Added: 0032976
2013-05-06 08:21Eric NOULARDNote Edited: 0032976bug_revision_view_page.php?bugnote_id=32976#r1153
2013-05-06 09:10Richard UlrichNote Added: 0032978
2013-10-12 17:12Nils GladitzStatusnew => assigned
2013-10-12 17:12Nils GladitzAssigned To => Nils Gladitz
2013-10-15 03:12Nils GladitzStatusassigned => resolved
2013-10-15 03:12Nils GladitzResolutionopen => duplicate
2014-03-05 09:58Robert MaynardNote Added: 0035280
2014-03-05 09:58Robert MaynardStatusresolved => closed

Notes
(0031961)
Jeremy Cook   
2013-01-03 09:17   
This is the same as 0013789 and appears to be resolved. Sorry...
(0032974)
Richard Ulrich   
2013-05-06 07:39   
I'm trying to add a merge module.
Thus I copied WIX.template.in from the cmake Modules directory to the Modules directory local in my project.
But I couldn't figure out how to add the Merge tag into the template.
It would have to be within the main Directory tag. But the Directory tag is entirely generated by cmCPackWIXGenerator.cxx.
So, I guess the way to do it would be to extend cmCPackWIXGenerator.cxx with allowing a list of merge modules?
(0032975)
Richard Ulrich   
2013-05-06 08:05   
Also, how does localization work with this type of installer?
(0032976)
Eric NOULARD   
2013-05-06 08:21   
Hi Richard,

It looks like this bug is a sibling of 0013789 and that your problem
with "Merge Module" is not handled at all by the current WIX generator.

And yes the "Directory" part of the generated wxs file is done
in the CXX part.
Source/CPack/WiX/cmCPackWIXGenerator.cxx:267 and after

That said I don't know anything about how WiX works and what is the "Merge Module" objective.
(beside what is written here:
 http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm [^])

So I suggest you start a discussion on that topic on the CMake developer ML
(http://www.cmake.org/mailman/listinfo/cmake-developers [^]) explaining the feature you need and then you may get valuable answer from initial CPack WiX generator developers.

(0032978)
Richard Ulrich   
2013-05-06 09:10   
Hi Eric,

thanks for the quick reply.
I figured a way to get my merge module included without having to touch the cpp source.
There might be nicer ways, but inserting the following inside the Product tag works for me:

        <DirectoryRef Id="TARGETDIR">
            <Merge Id="VC10MFC" Language="0" DiskId="1" SourceFile="$(env.ProgramFiles(x86))\Common Files\Merge Modules\Microsoft_VC100_MFC_x86.msm" />
            <Merge Id="VC10CRT" Language="0" DiskId="1" SourceFile="$(env.ProgramFiles(x86))\Common Files\Merge Modules\Microsoft_VC100_CRT_x86.msm" />
        </DirectoryRef>
        <Feature Id="runtimes" Title="3rd party runtime libraries" Level="1" Description='3rd party libraries necessary for operation' Display='expand'>
            <MergeRef Id='VC10MFC' />
            <MergeRef Id='VC10CRT' />
       </Feature>
(0035280)
Robert Maynard   
2014-03-05 09:58   
Closing resolved issues that have not been updated in more than 4 months