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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users