installer - Inserting Custom Action between Dialogs (InstallUISequence) in WiX -


i have 2 custom dialog boxes (plus required ones exitdlg, fatalerrordlg, etc.), first 1 sets property using edit control , second 1 shows property using text control. here meaningful code:

<dialog id="dialoga" ...>   <control id="controledit" type="edit" property="my_property" .../>   <control id="controlnext" type="pushbutton" ...>     <publish event="enddialog" value="return" /></control> </dialog> 

and second dialog:

<dialog id="dialogb" ...>   <control id="controltext" type="text" text="[my_property]" .../>   <control id="controlback" type="pushbutton" ...>     <publish event="enddialog" value="return" /></control>   <control id="controlnext" type="pushbutton" ...>     <publish event="enddialog" value="return" /></control> </dialog> 

and action sequence:

<installuisequence>    <show dialog="dialoga" before="mycustomaction" />    <custom action="mycustomaction" before="dialogb" />    <show dialog="dialogb" before="executeaction" /> </installuisequence> 

the custom action changes value of my_property. problem how make button in dialogbget dialoga. using newdialog simple, can't custom action executed between dialogs, or can i?


edit - 2013-05-02

after answer @caveman_dick, tried change dialoga said, instead of using enddialog, changed action="newdialog" value="dialogb". custom action isn't being called. if remove publish event go next dialog, ca called. if leave @caveman_dick said, can't dialoga dialogb.


edit - 2013-05-02

after searching in book wix 3.6: developer's guide windows installer xml, found following: "if have more 1 publish event, must have conditional statements inner text. otherwise, of events won't published."

so answer @caveman_dick correct, except need change following:

<publish ...>1</publish> 

rather scheduling custom action in installuisequence can publish on button click:

<dialog id="dialoga" ...>    <control id="controledit" type="edit" property="my_property" .../>    <control id="controlnext" type="pushbutton" ...>        <publish event="doaction" value="mycustomaction">1</publish>        <publish event="enddialog" value="return">1</publish>    </control> </dialog> 

edit: publish element's condition needs explicitly evaluate true run, add "1" text of publish elements.


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -