cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JoeBig
Level 4

Edit field doesn't update when property changes

When an edit field is "bound" to a property, the edit field is properly updated to reflect the current value of the property if the edit field hasn't been modified by the user. At any point if the edit field does get modified by the user, any subsequent changes to the property will not be reflected in the edit field.

So in the example project I have attached, I have a property named EXAMPLEPROPERTY which is "bound" to a Text Area and an Edit Field. Furthermore, I have a button that simply changes the EXAMPLEPROPERTY's value to be 'Hello'. Upon first showing this dialog, the value of the EXAMPLEPROPERTY is 0 (default for a property in IS2011). Both the Text Area and Edit Field are also 0. I click the button to change EXAMPLEPROPERTY's value to be 'Hello' and, as expected, the Text area and Edit Field are updated to say 'Hello'. I change the text in the edit field and then tab off of it to lose focus, the EXAMPLEPROPERTY property and Text area are updated to be whatever I put in the edit field. But now, if I click the button, I can see where EXAMPLEPROPERTY gets changed back to 'Hello' and the Text area shows 'Hello' but the Edit Field still shows the value I manually entered. The edit field is NOT updated to the latest value of EXAMPLEPROPERTY. But the crazy part is, if I back/next to another dialog and then go back to this dialog, the edit field is suddenly changed to the EXAMPLEPROPERTY value and everything is working again (pushing the button to change EXAMPLEPROPERTY to 'Hello' is reflected in the edit field) UNTIL I manually change the edit field... and then it get out of sync again.

Definitely a problem in my installer generated by InstallShield 2011 but is there a workaround? This is causing a huge headache for my users and I need to know if I can somehow get this to work or if I need to change my UI design completely so the user doesn't get in this weird state. This is a Basic MSI project.

Attached is the ISM file and the EXE generated by the installer.

Here is a screenshot:

http://goo.gl/GCROz

Here is a video of the behavior:

http://goo.gl/ssRPg
Labels (1)
0 Kudos
(1) Reply
RobertDickau
Flexera Alumni

Possibly not much consolation, but you're not missing anything: MSI apparently throws away edit-field-change messages, so dynamically doing things to other dialog controls based on edit-field edits isn't handled. For validation, common practice is to perform the validation when the user clicks Next, and "final" property values are generally displayed on a later dialog box...
0 Kudos