WIX Installer UI: Tooltip for Icon/Bitmap

I'm using WIX toolset to build an installer for my product. I would like to place the question mark icon next to Edit to show the tooltip with the explanation of why this value is needed. I've tried to do it with Icon, Bitmap, and Text, but hovering mouse on them doing nothing. My code is:

<Control Id="EditToBeExplained" Type="Edit" X="40" Y="65" Width="220" Height="15" Property="IMPORTANT_PROPERTY" Text="{80}" ToolTip="Used for very important stuff."></Control>
<Control Id="ExplanationIcon" IconSize="16" Type="Icon" Text="infoIcon" X="265" Y="65" Height="16" Width="16" ToolTip="Used for very important stuff."/>
<Control Id="ExplanationBmp" Type="Bitmap" Text="infoIconB" Height="16" Width="16" X="285" Y="65" TabSkip="no" ToolTip="Used for very important stuff."></Control>
<Control Id="AgentTempPathEditExplText" Type="Text" Text="{\WixUI_Font_Bigger}?" X="316" Y="65" Height="16" Width="16" ToolTip="Used for very important stuff."/>

I'm doing something wrong? Tooltip on Edit is displayed, so tooltips itself are working. I also checked the Control table with Orca, Help column values are correct. So. How I can force msi to show these tooltips? Or, if this is impossible Any ideas, how to show this explanation to user?

1 answer

  • answered 2020-01-01 01:37 Christopher Painter

    It sounds like you've done your homework. MSI SDK says that the help column is ToolTip|Help with the second part reserved for future use. WiX SDK says that the Help attribute is reserved for future use in case MSI ever uses it ( translation never ).

    I searched the MSI SDK for caveats on tool tip usage but didn't come across any. If you see the column being populated correctly in ORCA then I'd say this is just one of the undocumented unsupported by MSI edge cases.

    You could use an external UI handler if it's important enough to you. Personally in 20 years I don't recall ever using this feature.

    I just did some playing and it seems I can only get tool tips to work for things you can actually interact with. Edit, PathEdit, DirectoryList, Pushbutton and so on. Things like Line, Text and BitMap don't seem to work. This kinda makes sense but I don't know if MSFT documented it anywhere.