Есть VerifyReadyDialog, на нем кнопка Install. При нажатии на ней должно райзится два ивента — закрытие текущего диалога и порождение чайлдового. Все это выглядит так:
<Control Id="Install" Type="PushButton"
X="$(var.NextX)"
Y="$(var.NextY)"
Width="$(var.NextWidth)"
Height="$(var.NextHeight)"
Text="$(loc.VerifyReadyDlgInstall)">
<Publish Event="SpawnDialog" Value="UpgradeDlg">1</Publish>
<Publish Event="ExitDialog" Value="Return">1</Publish>
</Control>
Код UpgradeDlg:
<Fragment>
<UI>
<Dialog Id="UpgradeDlg"
Width="260"
Height="85"
Title="$(loc.CancelDlg_Title)"
NoMinimize="yes" >
<Control Id="No"
Type="PushButton"
X="132"
Y="57"
Width="56"
Height="17"
Cancel="yes"
Text="$(loc.WixUINo)">
<Publish Event="EndDialog" Value="Exit">1</Publish>
</Control>
<Control Id="Yes"
Type="PushButton"
X="72"
Y="57"
Width="56"
Height="17"
Text="$(loc.WixUIYes)"
Default="yes" Cancel="yes">
<Publish Event="EndDialog" Value="Return">1</Publish>
<Publish Event="DoAction" Value="LaunchUpgrade">NOT Installed</Publish>
</Control>
<Control Id="Text"
Type="Text"
X="48"
Y="15"
Width="194"
Height="30"
Text="Do you wanna?" />
<Control Id="Icon"
Type="Icon"
X="15"
Y="15"
Width="24"
Height="24"
ToolTip="$(loc.CancelDlgIconTooltip)"
FixedSize="yes"
IconSize="32"
Text="$(loc.CancelDlgIcon)" />
</Dialog>
</UI>
<CustomAction Id="LaunchUpgrade" Directory="INSTALLDIR" ExeCommand="C:\test.exe" Return="asyncNoWait"/>
</Fragment>
Соответственно проблема: при нажатии Install райзится только ивент, идущий последний в списке.
Кто — нибудь сталкивался с подобным?
p.s Wix 2.0