I'm having trouble with this "conditionally show a dialog based on a property".


Now I can conditionally show the dialog. But when I click on the Next or Back 
button, there is nothing happened. I'll have to click the button again to go 
forward or back. 
I took the code from WixUI_InstallDir.wxs and renamed it as 
MyWixUI_InstallDir.wxs and used it in my project. I changed the code by using 
your example, here is my code:
<Publish Dialog="MyInstallDirDlg" Control="Back" Event="NewDialog" 
Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="SetTargetPath" 
Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="DoAction" 
Value="WixUIValidatePath" Order="2">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="SpawnDialog" 
Value="InvalidDirDlg" 
Order="3"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<!--My code start here-->
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" Value="{}"/>
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" 
Value="MyAddedConfirmDlg"><![CDATA[WIXUI_INSTALLDIR_VALID="1" and 
NEED_MIGRATE_SETTING="1"]]></Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" 
Value="VerifyReadyDlg"><![CDATA[WIXUI_INSTALLDIR_VALID="1" and 
NEED_MIGRATE_SETTING<>"1"]]></Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="NewDialog" 
Value="[InstallDirNextDialog]" Order="4">InstallDirNextDialog</Publish>
<!--My code end here-->
<Publish Dialog="MyInstallDirDlg" Control="ChangeFolder" 
Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" 
Value="BrowseDlg" Order="2">1</Publish>


Many thanks.
I'm looking forward your kindly help.



________________________________
From: little.forest <little.for...@ymail.com>
To: General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
Sent: Tuesday, October 27, 2009 12:41:24 AM
Subject: Re: [WiX-users] How to detect files presence and conditionally show a 
new added dialog page

Hi Richard,


You're right. I did got some weird error by not using your approach for button 
control event when I went back and forth among those dialog pages. 

So I tried your approach, the errors were gone. However, I'm getting some other 
new weird issues: every time I've to click the "Next" button or "Back" button 2 
times to go next or go back, very strange. But after this two times of 
clicking, I can go back and forth without problem. What's wrong?

You know, I took the code from WixUI_InstallDir.wxs and renamed it as 
MyWixUI_InstallDir.wxs and used it in my project. I changed the code by using 
your example, here is my code:
<Publish Dialog="MyInstallDirDlg" Control="Back" Event="NewDialog" 
Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="SetTargetPath" 
Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="DoAction" 
Value="WixUIValidatePath" Order="2">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="SpawnDialog" 
Value="InvalidDirDlg" 
Order="3"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<!--My code start here-->
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" Value="{}"/>
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" 
Value="MyAddedConfirmDlg"><![CDATA[WIXUI_INSTALLDIR_VALID="1" and 
NEED_MIGRATE_SETTING="1"]]></Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" 
Property="InstallDirNextDialog" 
Value="VerifyReadyDlg"><![CDATA[WIXUI_INSTALLDIR_VALID="1" and 
NEED_MIGRATE_SETTING<>"1"]]></Publish>
<Publish Dialog="MyInstallDirDlg" Control="Next" Event="NewDialog" 
Value="[InstallDirNextDialog]" Order="4">InstallDirNextDialog</Publish>
<!--My code end here-->
<Publish Dialog="MyInstallDirDlg" Control="ChangeFolder" 
Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="MyInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" 
Value="BrowseDlg" Order="2">1</Publish>


As you can see, I changed the "NewDialog"(Next button) from one line to be 4 
lines of code. Is it correct? But I don't know how come I have to click the 
next button 2 times to go to the next page? Do I have to write all of those 4 
conditions(Not A and Not B, A and B, Not A and B, A and Not B) as 4 publish 
elements? In my case, I only care about two cases(A and B, A and Not B), is it 
okay?

Thanks.
/Brian




________________________________
From: Richard <legal...@xmission.com>
To: wix-users@lists.sourceforge.net
Sent: Wednesday, October 21, 2009 9:01:14 PM
Subject: Re: [WiX-users] How to detect files presence and conditionally show a 
new added dialog page


In article <664797.8163...@web59804.mail.ac4.yahoo.com>,
    "little.forest" <little.for...@ymail.com>  writes:

> "Additionally, you can't have more than one NewDialog control event
> on a button, even if the conditions are mutually exclusive." - this is
> interesting. Ca n you tell me where this fact comes from?

Found it.

Its in the docs for the ControlEvent table.

<http://msdn.microsoft.com/en-us/library/aa368037(VS.85).aspx>

    "The exception is that each control can publish a most one
    NewDialog or one SpawnDialog event."
-- 
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

      Legalize Adulthood! <http://legalizeadulthood.wordpress.com>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



      __________________________________________________________________
Connect with friends from any web browser - no download required. Try the new 
Yahoo! Canada Messenger for the Web BETA at 
http://ca.messenger.yahoo.com/webmessengerpromo.php
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



      __________________________________________________________________
The new Internet Explorer® 8 - Faster, safer, easier.  Optimized for Yahoo!  
Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to