Hi, 

Sometimes after an upgrade there are some binary files missing. It is
very strange. Most of the time it works, but after performing the update
more than twenty times in a row on a VM, I have some clues.

I'm using the mondo UI. If the user chooses default or full, it always
works. If he chooses custom, it mostly works. 
It starts failing, if he selects a nested feature (e.g. Runtimes), opens
the context menu for choosing whether or not to install. It doesn't
matter if he clicks somewhere outside to close the menu, or actually
selects to install it locally. All the features are still indicated as
selected for local install, as they were initialized. But then they are
not installed.

Some of the wix files are generated by the cpack generator.
It looks like this in my CMakeLists.txt:

SET(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME   "Runtimes")
SET(CPACK_COMPONENT_BASE_DISPLAY_NAME      "Base")
SET(CPACK_COMPONENT_SHARED_DISPLAY_NAME    "Shared")
SET(CPACK_COMPONENT_PYTHON_DISPLAY_NAME    "Python")
SET(CPACK_COMPONENT_CONVERTER_DISPLAY_NAME "Converter")
SET(CPACK_COMPONENT_VIEWER_DISPLAY_NAME    "Viewer")
SET(CPACK_COMPONENT_PL2D_DISPLAY_NAME      "PointLine2D")
SET(CPACK_COMPONENT_PL3D_DISPLAY_NAME      "PointLine3D")
SET(CPACK_COMPONENT_RUNTIME_GROUP "Requirements")
SET(CPACK_COMPONENT_BASE_GROUP    "Requirements")
SET(CPACK_COMPONENT_SHARED_GROUP  "Requirements")
SET(CPACK_COMPONENT_PYTHON_GROUP  "Requirements")

INSTALL(TARGETS Geom 
    RUNTIME DESTINATION bin COMPONENT base
    LIBRARY DESTINATION lib COMPONENT devel
    ARCHIVE DESTINATION ${PL_ARCHIVE_DEST_DIR} COMPONENT devel
)
INSTALL(TARGETS PointLine3D RUNTIME DESTINATION bin COMPONENT pl3d)

Which is translated by cpack to :

    <Fragment>
        <Feature Id="ProductFeature" Display="expand"
ConfigurableDirectory="INSTALL_ROOT" Title="PointLine23" Level="1">
            <Feature Id="CM_G_Requirements" Title="Requirements"
Description="!(loc.FeatDescRequirements)">
                <Feature Id="CM_C_runtime" Title="Runtimes"
Description="!(loc.FeatDescRuntimes)" Absent="disallow"/>
                <Feature Id="CM_C_base" Title="Base"
Description="!(loc.FeatDescBase)" Absent="disallow"/>
                <Feature Id="CM_C_python" Title="Python"
Description="!(loc.FeatDescPython)"/>
                <Feature Id="CM_C_shared" Title="Shared"
Description="!(loc.FeatDescShared)" Absent="disallow"/>
            </Feature>
            <Feature Id="CM_C_converter" Title="Converter"
Description="!(loc.FeatDescConverter)"/>
            <Feature Id="CM_C_pl2d" Title="PointLine2D"
Description="!(loc.FeatDescPointLine2D)"/>
            <Feature Id="CM_C_pl3d" Title="PointLine3D"
Description="!(loc.FeatDescPointLine3D)"/>
            <Feature Id="CM_C_viewer" Title="Viewer"
Description="!(loc.FeatDescViewer)"/>
        </Feature>

If I compare the logs of a sucessfull and a failed upgrade, the
following differences cought my eye. Note the Action on the executable
entry:

successfull:
MSI (s) (04:28) [08:49:52:702]: Feature: CM_C_runtime; Installed:
Absent;   Request: Local;   Action: Local
MSI (s) (04:28) [08:49:52:702]: Feature: CM_C_pl3d; Installed: Absent;
Request: Local;   Action: Local
MSI (s) (04:28) [08:49:52:702]: Component: CM_CP_base.bin.Geom.dll;
Installed: Absent;   Request: Local;   Action: Local
MSI (s) (04:28) [08:49:52:702]: Component:
CM_CP_pl3d.bin.PointLine3D.exe; Installed: Absent;   Request: Local;
Action: Local


failed:
MSI (s) (3C:58) [09:35:01:514]: Feature: CM_C_runtime; Installed:
Absent;   Request: Local;   Action: Local
MSI (s) (3C:58) [09:35:01:514]: Feature: CM_C_pl3d; Installed: Absent;
Request: Local;   Action: Local
MSI (s) (3C:58) [09:35:01:514]: Component: CM_CP_base.bin.Geom.dll;
Installed: Absent;   Request: Local;   Action: Null
MSI (s) (3C:58) [09:35:01:514]: Component:
CM_CP_pl3d.bin.PointLine3D.exe; Installed: Absent;   Request: Local;
Action: Null


What could go wrong here, and what can I do to prevent it?

Rgds
Richard

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to