Curious about MSIcode and the use of the WIZARD variable.
Posted: Sun Feb 15, 2009 8:16 am
I have this code copied from the MSIcode window.
First: the code copy-and-paste as text (Shift+Ctrl+C)
label: Welcome Dialog
Display Dialog: welcome, wait for dialog to return (modal)
if Variable WIZARD Equals CANCEL
GoTo Label: Main Install
end
Second: The same code copied in its native format (Ctrl+C).
~InstallAware Clipboard Data~
~End~
~{1CC2C5D1-E642-46FB-9E0D-BF86F5CC00CD}~
~GoTo Label~
~{DC530343-3280-4B9C-ACF1-70B452B9FC84}~
~Main Install~
~If~
~{BB96B3B1-DA3C-4F49-814F-F01C57B9D4D3}~
~WIZARD~
~0~
~CANCEL~
~FALSE~
~Display Dialog~
~{CF675A11-33E9-45EB-8C5B-85FBC0756FB6}~
~welcome~
~WIZARD~
~TRUE~
~~
~TRUE~
~FALSE~
~Label~
~{7225ACC7-3A8A-4EBF-86C0-39D202808076}~
~Welcome Dialog~
1. It looks like the native copy shows the code in reverse sequence?
2. I'd be interested to know what the lines are saying and the significance of the GUIDs.
3. In the MSIcode the predefined variable WIZARD appears all over the place. Am I right in thinking that whenever you add a command button to a dialog that behind the scenes, IA implicitly wires all buttons to the WIZARD variable?
EDIT: I think I might be onto something here. I added a new button and set the action to set the WIZARD variable. After the dialog was dismissed the value in WIZARD had been converted to the uppercase name of the button control. I named my button Validate and the WIZARD variable was set to VALIDATE.
4. If I'm right with 3 above, can you assign other values to WIZARD? For example, if I had 10 buttons on a dialog how would I return the state of each button, assuming I can NEXT, CANCEL, BACK which seem to be the only standard options you can use?
I've yet to start looking at custom dialogs so I'd like to get an idea what makes the dialogs tick.
First: the code copy-and-paste as text (Shift+Ctrl+C)
label: Welcome Dialog
Display Dialog: welcome, wait for dialog to return (modal)
if Variable WIZARD Equals CANCEL
GoTo Label: Main Install
end
Second: The same code copied in its native format (Ctrl+C).
~InstallAware Clipboard Data~
~End~
~{1CC2C5D1-E642-46FB-9E0D-BF86F5CC00CD}~
~GoTo Label~
~{DC530343-3280-4B9C-ACF1-70B452B9FC84}~
~Main Install~
~If~
~{BB96B3B1-DA3C-4F49-814F-F01C57B9D4D3}~
~WIZARD~
~0~
~CANCEL~
~FALSE~
~Display Dialog~
~{CF675A11-33E9-45EB-8C5B-85FBC0756FB6}~
~welcome~
~WIZARD~
~TRUE~
~~
~TRUE~
~FALSE~
~Label~
~{7225ACC7-3A8A-4EBF-86C0-39D202808076}~
~Welcome Dialog~
1. It looks like the native copy shows the code in reverse sequence?
2. I'd be interested to know what the lines are saying and the significance of the GUIDs.
3. In the MSIcode the predefined variable WIZARD appears all over the place. Am I right in thinking that whenever you add a command button to a dialog that behind the scenes, IA implicitly wires all buttons to the WIZARD variable?
EDIT: I think I might be onto something here. I added a new button and set the action to set the WIZARD variable. After the dialog was dismissed the value in WIZARD had been converted to the uppercase name of the button control. I named my button Validate and the WIZARD variable was set to VALIDATE.
4. If I'm right with 3 above, can you assign other values to WIZARD? For example, if I had 10 buttons on a dialog how would I return the state of each button, assuming I can NEXT, CANCEL, BACK which seem to be the only standard options you can use?
I've yet to start looking at custom dialogs so I'd like to get an idea what makes the dialogs tick.