cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

Radio Buttons Not Changing Property...

Jump to solution

I just created a basic .msi project and added a dialog with a radio box for choosing a protocol HTTP or HTTPS.

The property of the Radio Button Group is ProductProtocol.  This property is later passed into a Custom Action widget and it is always coming in as HTTP even if HTTPS is selected.

I do have ProductProtocol defaulted to http in the Property table, but that shouldn't cause any problems I wouldn't think.

So I thought I would look at the License Agreement to see if everything is set up properly, but I don't see any real differences.  

I did rearrange my UI a bit and I noticed that when I authored the changes I noticed that on the Next button, the New Dialog didn't have the condition AgreeToLicense="Yes", it was set to 1 (which is fine because the next button only becomes enabled when agreed to).  When I set the condition to AgreeToLicense on the Next button of the License Agreement dialog, the Next button does not present the next dialog.  So, the property is not being changed to Yes here either.

Why are radio buttons not working in my new project?

Any help appreciated!

Labels (1)
0 Kudos
(1) Solution
skrueger
Level 6

Make sure the property name is all in upper case characters, like PRODUCT_PROTOCOL. If it contains lower case it will only be visible in the UI sequence and reset to default when your setup moves to the Execute sequence. In addition, append the property name to the list in the property called SecureCustomProperties (unless InstallShield already added it automatically)

Stefan Krueger
InstallSite.org / InstallSite.de

View solution in original post

0 Kudos
(5) Replies
rguggisberg
Level 13

How is the CA executed? Properties may not be available to 'deferred' CAs. 

0 Kudos

I thought that was primarily for PUBLIC properties.  Mine is a private property, ProductProtocol.  That would be easy enough to test though I guess.  I can just remove the default value in the property table I guess.  In saying that, even with the default, that should prove that the property value is being passed to the execute sequence as I do see that in the action.  Else, the value seen in through the action widget would be empty.

Also, It seems I proved this is not working in the UI sequence itself with the License Agreement dialog.  As soon as I placed the agreed = Yes as the condition to jump to the next dialog the next button would not actually jump to that next dialog.  The only way it would work is to use 1 as the condition.  Like I said, that should be OK there as the actions on the next button seem to work properly in that when the agree radio button is clicked, the Next button is enabled.  So there really is no need for the agree = yes condition on that button.

Very strange behavior that I don't recall seeing before.

0 Kudos

I changed the default in the property table to "help".  Ran the install, which now does not have one of the radio buttons as default since the property table value does not match either button value.  After toggling the buttons, I should get either http or https, but help makes it to the widget (displayed in a message box).

The radio button had no effect on setting the property at all.

0 Kudos
skrueger
Level 6

Make sure the property name is all in upper case characters, like PRODUCT_PROTOCOL. If it contains lower case it will only be visible in the UI sequence and reset to default when your setup moves to the Execute sequence. In addition, append the property name to the list in the property called SecureCustomProperties (unless InstallShield already added it automatically)

Stefan Krueger
InstallSite.org / InstallSite.de
0 Kudos

YYYYEEEEEESSSSSSSS!   Thank you!  I thought I was being slick by using the private property format.  Changing to public property fixed it for me!!!

THANK YOU SO MUCH!

0 Kudos