Nobody answered or commented on my question. However, after much trial and error I figured out a solution. I figured I'd put it up here in case somebody else had the same problem.
1) First, I have to name properties as all Uppercase. So in my product.wxs I declare:
<Property Id="DF_PORT" Value="8080" Secure="yes"/>
<Property Id="PORT" Secure="yes"/>
2) I then add a publish tag and attach to Next button of dialog preceding my custom configuration dialog:
<Publish Dialog="PrecedingDialogName" Control="Next" Property="PORT" Value="[DF_PORT]">1</Publish>
3) In my custom dialog, I just bind an Edit control to the PORT property:
<Control Id="Port" Type="Edit" X="130" Y="88" Width="60" Height="16" Property="PORT" Text="{WixUI_Font_Normal}" Integer="yes" RightAligned="yes" />
The control will display the default value. If I edit the value, but then hit the "Back" button, Step 2 will reload the default value, instead of remembering what the User had typed.
After working with WIX Toolset for a couple of weeks now, I can honestly say that this is one of the worst and most unintuitive development pieces I have ever seen!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…