#2847 Control element Property value not treated correctly

future
migrated
nobody
2013-08-21
2012-02-27
No

The documentation (WiX Documentation, accompanying the Windows Installer XML Toolset 3.5) explains the Property attribute of the Control Element thus:

"The name of a defined property to be linked to this control. This column is required for active controls."

My understandning of this explanation is, that the value of this attribute should be the name of the Property, that will receive the updated value in the type of Control, exemplified below. This is, however, not the case. Instead, it appears this property value should be the name of a property, that contains the name of the Property to be updated by the Control. The following lines of code demonstrate the entities involved:

<Property Id="UITEM1" Value="ITEM1"/>


<Control Id="MyId" Type="Edit" X="100" Y="199" Width="64" Height="17" Text="&lt;span&gt;[TITEM1]&lt;/span&gt;" Property="UITEM1" Indirect="yes">
</Control>


<InstallExecuteSequence>
<Custom Action="TITEM1" After="InstallFiles"/>
</InstallExecuteSequence>

<CustomAction Id="TITEM1" Property="TITEM1" Value="&lt;span&gt;[ITEM1]&lt;/span&gt;" Return="check" Execute="immediate"/>

I regard this as a problem, either with the compiler (candle) or the documentation. However, I am too new to WiX to see, whether I have overlooked something.

Discussion

  • Bob Arnson

    Bob Arnson - 2012-02-27

    That is the case when Indirect="yes". If you want the "normal" behavior, omit Indirect="yes".

     
  • Einar Lindahl

    Einar Lindahl - 2012-02-27

    Ok, I see the point of the comment. I do think, though, that the explanation for the Indirect attribute of the Control element could be more clear, for example:
    "Specifies whether this control will display or change the value of the property, that is indirectly referenced by the value of the Property attribute of this control."
    (Maybe accompanied by information regarding the indirectly referenced property being listed in the Property column of the Control table, or whatever applies - the indirectly referenced property id need not exist in the Property table, I found.)

     
  • Rob Mensching

    Rob Mensching - 2013-08-21
    • Status: open --> migrated
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks