The example I gave you is what is working for me.  Below is the entire UI 
script.

<?xml version="1.0" encoding="utf-8"?>
<Include>

  <!--Define the dialog to get the Server and Database name information from 
the user-->

  <UI Id="Screen">
    <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
    <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
    <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
    <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />

    <Property Id="WixUI_Mode" Value="Mondo" />

    <!-- define the install screen-->
    <Dialog Id="DialogDatabase" Width="370" Height="270" Title="[ProductName]">
      <Control Id="BannerLine" Type="Line" X="0" Y="0" Width="370" Height="1" />
      <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="1" Width="370" 
Height="43" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
      <Control Id="BottomLine" Type="Line" X="0" Y="44" Width="370" Height="1" 
/>

      <Control Id="Description" Type="Text" X="25" Y="60" Width="280" 
Height="15" Transparent="yes" NoPrefix="yes"
        Text="{\WixUI_Font_Bigger}Preparing to Install Databases, version 
[INSTALLVERSION]"/>

      <Control Id="ServerNameLabel" Type="Text" X="32" Y="100" Width="290" 
Height="13" NoPrefix="yes"
        Text="SQL Server (Hostname\Instance:Port):" />

      <Control Id="ServerNameEdit" Type="Edit" X="32" Y="110" Width="290" 
Height="18" Property="SERVERNAME"
        Text="[SERVERNAME]" />

      <Control Id="ErrorList" Type ="Text" X="32" Y="130" Width="290" 
Height="100" Text="[ERRORMESSAGE]"/>

      <Control Id="BackDlg" Type="PushButton" X="180" Y="243" Width="56" 
Height="17" Text="Back" />

      <Control Id="NextDlg" Type="PushButton" X="236" Y="243" Width="56" 
Height="17" Default="yes" Text="Next">
        <Publish Event="DoAction" Value="VerifySQLServer">1</Publish>
        <Publish Event="DoAction" Value="VerifySQLServer.Get">1</Publish>
        <!-- if there is a server error redisplay the database screen else go 
to the verify screen -->
        <Publish Event="NewDialog" 
Value="DialogError"><![CDATA[SERVERERROR~="1"]]></Publish>
        <Publish Event="NewDialog" 
Value="DialogVerify"><![CDATA[SERVERERROR~="0"]]></Publish>
      </Control>
      
      <Control Id="CancelDlg" Type="PushButton" X="304" Y="243" Width="56" 
Height="17" Cancel="yes" Text="Cancel">
        <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
      </Control>      
    </Dialog>    
    
    <!--if there is an error then this screen gest displayed-->
    <Dialog Id="DialogError" Width="370" Height="270" Title="[ProductName]">
      <Control Id="ErrBannerLine" Type="Line" X="0" Y="0" Width="370" 
Height="1" />
      <Control Id="ErrBannerBitmap" Type="Bitmap" X="0" Y="1" Width="370" 
Height="43" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
      <Control Id="ErrBottomLine" Type="Line" X="0" Y="44" Width="370" 
Height="1" />

      <Control Id="ErrDescription" Type="Text" X="25" Y="60" Width="280" 
Height="15" Transparent="yes" NoPrefix="yes"
        Text="{\WixUI_Font_Bigger}Preparing to Install Databases, version 
[INSTALLVERSION]"/>

      <Control Id="ErrServerNameLabel" Type="Text" X="32" Y="100" Width="290" 
Height="13" NoPrefix="yes"
        Text="SQL Server (Hostname\Instance:Port):" />

      <Control Id="ErrServerNameEdit" Type="Edit" X="32" Y="110" Width="290" 
Height="18" Property="SERVERNAME"
        Text="[SERVERNAME]" />

      <Control Id="ErrErrorList" Type ="Text" X="32" Y="130" Width="290" 
Height="100" Text="[ERRORMESSAGE]"/>

      <Control Id="BackErr" Type="PushButton" X="180" Y="243" Width="56" 
Height="17" Text="Back" />

      <Control Id="NextErr" Type="PushButton" X="236" Y="243" Width="56" 
Height="17" Default="yes" Text="Next">
        <Publish Event="DoAction" Value="VerifySQLServer">1</Publish>
        <Publish Event="DoAction" Value="VerifySQLServer.Get">1</Publish>
        <!-- if there is a server error redisplay the database screen else go 
to the verify screen -->
        <Publish Event="NewDialog" 
Value="DialogDatabase"><![CDATA[SERVERERROR~="1"]]></Publish>
        <Publish Event="NewDialog" 
Value="DialogVerify"><![CDATA[SERVERERROR~="0"]]></Publish>
      </Control>
      
      <Control Id="CancelErr" Type="PushButton" X="304" Y="243" Width="56" 
Height="17" Cancel="yes" Text="Cancel">
        <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
      </Control>      
    </Dialog>
    
    <!--if everything is ok then screen flow goes here-->
    <Dialog Id="DialogVerify" Width="370" Height="270" Title="[ProductName]">
      <Control Id="VfyBannerLine" Type="Line" X="0" Y="0" Width="370" 
Height="1" />
      <Control Id="VfyBannerBitmap" Type="Bitmap" X="0" Y="1" Width="370" 
Height="43" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
      <Control Id="VfyBottomLine" Type="Line" X="0" Y="44" Width="370" 
Height="1" />

      <Control Id="VdyDescription" Type="Text" X="25" Y="60" Width="280" 
Height="15" Transparent="yes" NoPrefix="yes"
        Text="{\WixUI_Font_Bigger}Preparing to Install Databases : 
[INSTALLPACKAGE]"/>

      <Control Id="VfyServerNameLabel" Type="Text" X="32" Y="80" Width="290" 
Height="13" NoPrefix="yes"
        Text="SQL Server (Hostname\Instance:Port):  [SERVERNAME]" />

      <Control Id="VfyDatabaseList" Type ="Text" X="64" Y="100" Width="150" 
Height="120" Text="[DBTOINSTALL]"/>

      <Control Id="BackRdy" Type="PushButton" X="180" Y="243" Width="56" 
Height="17" Text="Back" />

      <Control Id="NextRdy" Type="PushButton" X="236" Y="243" Width="56" 
Height="17" Default="yes" Text="Next">
      </Control>
      <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" 
Height="17" Cancel="yes" Text="Cancel">
        <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
      </Control>

    </Dialog>

    <DialogRef Id="ErrorDlg" />
    <DialogRef Id="FatalError" />
    <DialogRef Id="FilesInUse" />
    <DialogRef Id="MsiRMFilesInUse" />
    <DialogRef Id="PrepareDlg" />
    <DialogRef Id="ProgressDlg" />
    <DialogRef Id="ResumeDlg" />
    <DialogRef Id="UserExit" />

    <PropertyRef Id ="INSTALLPACKAGE"/>
    <PropertyRef Id ="INSTALLVERSION"/>
    <PropertyRef Id ="OPTIONSPATH"/>
    <PropertyRef Id ="ADVANCED"/>
    <PropertyRef Id ="OPTIONSEXIST"/>
    <PropertyRef Id ="DBTOINSTALL"/>
    <PropertyRef Id ="SERVERNAME"/>
    <PropertyRef Id ="SERVERERROR"/>
    <PropertyRef Id ="ERRORMESSAGE"/>

    <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" 
Value="Return" Order="999">1</Publish>
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" 
Value="DialogDatabase">1</Publish>
    
    <Publish Dialog="DialogDatabase" Control="BackDlg" Event="NewDialog" 
Value="WelcomeDlg">1</Publish>
    <Publish Dialog="DialogError" Control="BackErr" Event="NewDialog" 
Value="WelcomeDlg">1</Publish>
    
    <Publish Dialog="DialogVerify" Control="BackRdy" Event="NewDialog" 
Value="DialogDatabase">1</Publish>
    <Publish Dialog="DialogVerify" Control="NextRdy" Event="NewDialog" 
Value="VerifyReadyDlg">1</Publish>

    <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" 
Value="DialogDatabase">1</Publish>
    <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" 
Value="VerifyReadyDlg">1</Publish>
    
    <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" 
Value="DialogDatabase">1</Publish>

  </UI>

  <UIRef Id="WixUI_Common" />

</Include>



-----Original Message-----
From: Joel Dart [mailto:jd...@dyknow.com] 
Sent: Monday, March 10, 2014 11:45 AM
To: General discussion about the WiX toolset.
Subject: Re: [WiX-users] Require fields/disable InstallButton in bootstrapper

Thanks Harold, 

I've been trying to get custom actions to work from the 
WixStandardBootstrapperApplication without much luck. When I look in the xsd, 
it doesn't have Control as an option for Page. Additionally, when just trying 
to sub in Control for Button, the built bootstrapper immediately crashes.

Is the example you're using work on the bootstrapper or will it only work when 
customizing the msi? When looking around the source for the 
WixStandardBootstrapperApplication, it looks like the enable/disable is being 
handled explicitly in the code versus the _____State variable trick. My gut is 
telling me this cannot be done without implementing a custom 
bootstrapperapplication.

________________________________________
From: Harold Wood (H10 Capital) [v-wow...@microsoft.com]
Sent: Friday, March 07, 2014 2:40 PM
To: General discussion about the WiX toolset.
Subject: Re: [WiX-users] Require fields/disable InstallButton in bootstrapper

I use a custom action that gets fired when they click the next button, if there 
is an error it takes me to my error dialog, the next button on that loops me 
back to this dialog so the newly entered value can get validated again.


      <Control Id="NextDlg" Type="PushButton" X="236" Y="243" Width="56" 
Height="17" Default="yes" Text="Next">
        <Publish Event="DoAction" Value="VerifySQLServer">1</Publish>
        <Publish Event="DoAction" Value="VerifySQLServer.Get">1</Publish>
        <!-- if there is a server error redisplay the database screen else go 
to the verify screen -->
        <Publish Event="NewDialog" 
Value="DialogError"><![CDATA[SERVERERROR~="1"]]></Publish>
        <Publish Event="NewDialog" 
Value="DialogVerify"><![CDATA[SERVERERROR~="0"]]></Publish>
      </Control>

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the 
definitive new guide to graph databases and their applications. Written by 
three acclaimed leaders in the field, this first edition is now available. 
Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to