MantisBT - CMake
View Issue Details
0007881CMakeCPackpublic2008-10-29 06:232010-12-14 18:49
Nicolas Despres 
David Cole 
normaltweakN/A
closedfixed 
CMake-2-6 
 
0007881: [NSIS] Installation directory with the VENDOR name
Many company installed all their product in a directory with their name. Typically:
 c:\Program Files\Vendor\Product1
 c:\Program Files\Vendor\Product2

Up to now it is not possible to do so with cpack nsis generator.
No tags attached.
related to 0008682closed David Cole CPACK_NSIS_DISPLAY_NAME not being used 
Issue History
2008-10-29 06:23Nicolas DespresNew Issue
2009-01-29 14:24Bill HoffmanStatusnew => assigned
2009-01-29 14:24Bill HoffmanAssigned To => David Cole
2009-04-07 15:34David ColeRelationship addedrelated to 0008682
2009-04-07 15:50David ColeNote Added: 0015956
2009-04-07 15:50David ColeStatusassigned => resolved
2009-04-07 15:50David ColeResolutionopen => fixed
2009-07-16 11:54David ColeNote Added: 0016885
2009-07-16 11:54David ColeStatusresolved => feedback
2009-07-16 11:54David ColeResolutionfixed => reopened
2009-07-16 11:55David ColeNote Added: 0016886
2009-07-16 11:55David ColeStatusfeedback => resolved
2009-07-16 11:55David ColeResolutionreopened => fixed
2010-12-14 18:49David ColeNote Added: 0024095
2010-12-14 18:49David ColeStatusresolved => closed

Notes
(0015956)
David Cole   
2009-04-07 15:50   
This is resolved by the same commit as the related issue, 0008682. It is "fixed" enough to do the following in CVS HEAD of CMake.

cvs commit -m "BUG: Fix issue 0008682. Use CPACK_NSIS_DISPLAY_NAME in appropriate places rather than CPACK_PACKAGE_INSTALL_DIRECTORY. Clean separation of these two variables (which have the same value by default) allows an easy workaround for issue 0007881, too." NSIS.template.in

/cvsroot/CMake/CMake/Modules/NSIS.template.in,v <-- NSIS.template.in
new revision: 1.36; previous revision: 1.35

To allow including the Vendor name in the installation directory, do this:

  In product1's CMakeLists.txt file:
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Vendor\\Product1")
  SET(CPACK_NSIS_DISPLAY_NAME "Product1 Display Name")

  In product2's CMakeLists.txt file:
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Vendor\\Product2")
  SET(CPACK_NSIS_DISPLAY_NAME "Product2 Display Name")

(That's for Win32 NSIS with the "\\" in the string. You'll want to use "/" for those variables on other platforms...)
(0016885)
David Cole   
2009-07-16 11:54   
new information about resolution...
(0016886)
David Cole   
2009-07-16 11:55   
See notes in related issue 0008682 regarding the re-fix for that issue...

The new variable CPACK_NSIS_PACKAGE_NAME should be set in addition to CPACK_NSIS_DISPLAY_NAME -- the PACKAGE_NAME variant is used in the installer itself, the DISPLAY_NAME variant is shown in the Add/Remove Programs control panel.
(0024095)
David Cole   
2010-12-14 18:49   
Closing bugs that have been resolved for more than 3 months without any further updates.