I have the following custom dialog in which I capture SQL login info and
the path to an existing FoxPro installation.  I would like to check that
the path entered for the FoxPro path does exist before proceeding.  I found
this solution for checking if a directory exists (
http://stackoverflow.com/questions/7144831/browsedialog-and-installdirdlg-wix
).


      <Dialog Id="AcctInfoDlg" Width="370" Height="270"
Title="[ProductName] Setup" NoMinimize="yes">

        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56"
Height="17" Text="!(loc.WixUIBack)">
          <Publish Event="NewDialog" Value="InstallDirDlg">1</Publish>
        </Control>
        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56"
Height="17" Default="yes" Text="!(loc.WixUINext)">

          <!-- Check that SQL password is not blank and matches confirm SQL
password -->
          <Condition Action="disable"><![CDATA[(SQLPASSWORD = "" OR
CONFIRMSQLPASSWORD = "")]]></Condition>
          <Condition Action="disable"><![CDATA[(SQLPASSWORD <>
CONFIRMSQLPASSWORD)]]></Condition>
          <Condition Action="enable"><![CDATA[((SQLPASSWORD =
CONFIRMSQLPASSWORD) AND SQLPASSWORD <> "")]]></Condition>

          <Publish Event="SetTargetPath" Value="[FOXPROPATH]"
Order="1">1</Publish>
          <Publish Event="SpawnDialog" Value="InvalidDirDlg"
Order="2"><![CDATA[NOT FOXPROPATH]]></Publish>
          <Publish Event="NewDialog" Value="VerifyReadyDlg"
Order="3">1</Publish>
        </Control>
        <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56"
Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
          <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
        </Control>

        <Control Id="Description" Type="Text" X="25" Y="23" Width="280"
Height="15" Transparent="yes" NoPrefix="yes" Text="Please enter SQL
credentials and click Next to continue" />
        <Control Id="Title" Type="Text" X="15" Y="6" Width="200"
Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title} SQL
Account Information" />
        <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370"
Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" />
        <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370"
Height="0" />
        <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370"
Height="0" />

        <!-- SQL Information -->
        <Control Id="ServerLabel"             Type="Text" X="20"  Y="63"
Width="80" Height="13" Text="SQL Server:" />
        <Control Id="ServerEdit"              Type="Edit" X="110" Y="60"
Width="175" Height="18" Property="SQLSERVER" />
        <Control Id="UserLabel"               Type="Text" X="20"  Y="83"
Width="80" Height="13" Text="SQL Username:" />
        <Control Id="UserEdit"                Type="Edit" X="110" Y="80"
Width="175" Height="18" Property="SQLUSER" />
        <Control Id="PasswordLabel"           Type="Text" X="20"  Y="103"
Width="80" Height="13" Text="SQL Password:" />
        <Control Id="PasswordEdit"            Type="Edit" X="110" Y="100"
Width="175" Height="18" Text="{50}" Property="SQLPASSWORD" Password="yes"/>
        <Control Id="ConfirmSQLPasswordLabel" Type="Text" X="20"  Y="123"
Width="80" Height="13" Text="Confirm SQL Password:" />
        <Control Id="ConfirmSQLPasswordEdit"  Type="Edit" X="110" Y="120"
Width="175" Height="18" Text="{50}" Property="CONFIRMSQLPASSWORD"
Password="yes"/>

        <!-- FoxPro Path Information -->
        <Control Id="FoxProPathLabel" Type="Text" X="20"  Y="163"
Width="80" Height="13" Text="FoxPro Path:" />
        <Control Id="FoxProPathEdit"  Type="PathEdit" X="110" Y="160"
Width="175" Height="18" Property="FOXPROPATH" />
        <Control Id="TestFoxProPath"  Type="PushButton" X="300" Y="160"
Width="56" Height="17" Text="!(loc.InstallDirDlgChange)">
          <Publish Property="_BrowseProperty" Value="FOXPROPATH"
Order="1">1</Publish>
          <Publish Event="SpawnDialog" Value="BrowseDlg"
Order="2">1</Publish>
        </Control>

      </Dialog>

When I run the installer I get the same error whether I type in a good
locaiton, browse to a good location or enter a bad locaiton.

MSI (c) (A8:F8) [08:30:48:050]: PROPERTY CHANGE: Adding SQLUSER property.
Its value is 'sa'.
MSI (c) (A8:F8) [08:30:50:378]: PROPERTY CHANGE: Adding SQLPASSWORD
property. Its value is '**********'.
MSI (c) (A8:F8) [08:30:52:222]: PROPERTY CHANGE: Adding CONFIRMSQLPASSWORD
property. Its value is '**********'.
MSI (c) (A8:F8) [08:31:01:190]: PROPERTY CHANGE: Modifying FOXPROPATH
property. Its current value is 'C:\'. Its new value: 'C:\afgdfhgadfh\'.
DEBUG: Error 2872:  The argument of the CheckPath control event on dialog
AcctInfoDlg is invalid
The installer has encountered an unexpected error installing this package.
This may indicate a problem with this package. The error code is 2872. The
arguments are: AcctInfoDlg, ,
MSI (c) (A8:F8) [08:31:02:722]: Product: Automated SQL Migration for Abra
Suite 1.0.0 -- The installer has encountered an unexpected error installing
this package. This may indicate a problem with this package. The error code
is 2872. The arguments are: AcctInfoDlg, ,


Does anyone know what I am doing wrong with this?

Brian

If you can't explain it simply, you don't understand it well enough.  -
Albert Einstein
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to