[wix-users] Conditional SQL execution
Farrukh Waheed
farrukh1 at gmail.com
Wed May 3 22:42:17 PDT 2017
Correction. Attribute is "Disabled" . For details, see
http://wixtoolset.org/documentation/manual/v3/xsd/wix/control.html
On 4 May 2017 at 10:39, Farrukh Waheed <farrukh1 at gmail.com> wrote:
> Ideally, the checkbox should be setting up some property like
> EnableControl to values "yes" or "no and rest of the controls should be
> using this property in their Disable attribute, which takes "yes" or "no"
> to Enable or Disable controls.
>
> On 4 May 2017 at 05:56, Habib Salim <habib at hsalim.com> wrote:
>
>> <reposting as Plains Text>
>>
>> Hi,
>>
>> I have a two questions that I hope I can address together.
>>
>> I have a custom dialog to get a capture user input for properties like
>> SERVER_NAME
>>
>> 1. How do I conditionally execute this if checkbox evaluates to true?
>> there does not seem to be an InstallCondition.
>> I see a Condition Element that can be used in a fragment but I don't quite
>> know how to use it.
>> 2. Ideally, the controls below the checkbox would be greyed out or
>> invisible if checkbox is false, but that does not seem possible.
>>
>> Contents of .wxs posted below
>> ----------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
>> xmlns:util ="http://schemas.microsoft.com/wix/UtilExtension"
>> xmlns:sql ="http://schemas.microsoft.com/wix/SqlExtension" >
>>
>> <Fragment>
>> <Property Id="CREATE_DB" Value="false" />
>> <Property Id="SERVER_NAME" Value="." />
>> <Property Id="INSTANCE_NAME" Value="REPORTING" />
>> <Property Id="USER_NAME" Value="sa" />
>> <Property Id="PASSWORD" Value="#" />
>> <Property Id="DB_NAME" Value="CONTROL" />
>> <Property Id="DEMODB_NAME" Value="DemoDB" />
>>
>> <UI>
>> <Dialog Id="MyCustomDlg" Width="370" Height="350" Title="Server and
>> Database Settings">
>> <Control Id="Next" Type="PushButton" X="236" Y="300" Width="56"
>> Height="17" Default="yes" Text="!(loc.WixUINext)" />
>> <Control Id="Back" Type="PushButton" X="180" Y="300" Width="56"
>> Height="17" Text="!(loc.WixUIBack)" />
>> <Control Id="Cancel" Type="PushButton" X="304" Y="300" Width="56"
>> Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
>> <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
>> </Control>
>>
>> <!--<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370"
>> Height="44" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />-->
>>
>> <Control Id="Title" Type="Text" X="15" Y="6" Width="200"
>> Height="15" Transparent="yes" NoPrefix="yes" Text="Pivot Views Database
>> Setup" />
>> <Control Id="Description" Type="Text" X="25" Y="23" Width="280"
>> Height="15" Transparent="yes" NoPrefix="yes" Text="Where should we install
>> the PivotViews database?" />
>>
>> <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370"
>> Height="44" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
>> <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370"
>> Height="0" />
>>
>> <Control Id="InstallCheckBoxLabel" Type="CheckBox" Text="Create
>> Database?:" X="15" Y="60" Width="100" Height="17"
>> Property="CREATE_DB" CheckBoxValue="0" Default="no" />
>>
>>
>> <Control Id="ServerNameLabel" Type="Text" X="15" Y="80"
>> Width="100" Height="17" Text="SQL Server Name:" />
>> <Control Id="ServerNameTextbox" Type="Edit" X="120" Y="80"
>> Width="200" Height="17"
>> Property="SERVER_NAME" ToolTip="Enter Server Name Here"
>> />
>>
>> <Control Id="InstanceNameLabel" Type="Text" X="15" Y="100"
>> Width="100" Height="17" Text="Instance Name:" />
>> <Control Id="InstanceNameTextbox" Type="Edit" X="120" Y="100"
>> Width="200" Height="17"
>> Property="INSTANCE_NAME" ToolTip="Enter Instance Name if
>> applicable" />
>>
>> <Control Id="UserNameLabel" Type="Text" X="15" Y="120"
>> Width="120" Height="17" Text="User name:"/>
>> <Control Id="UserNameTextbox" Type="Edit" X="120" Y="120"
>> Width="200" Height="17"
>> Property="USER_NAME" ToolTip="User ID of sa or equivalent
>> user." />
>>
>> <Control Id="UserPasswordLabel" Type="Text" Text="Password:"
>> X="15" Y="140" Width="100" Height="17" />
>> <Control Id="UserPasswordTextbox" Type="Edit" X="120" Y="140"
>> Width="200" Height="17" Password="yes"
>> Property="PASSWORD" ToolTip="Enter a password" />
>>
>> <Control Id="DBNameLabel" Type="Text" Text="Database name:" X="15"
>> Y="160" Width="100" Height="17" />
>> <Control Id="DBNameTextbox" Type="Edit" X="120" Y="160"
>> Width="200" Height="17"
>> Property="DB_NAME" ToolTip="This is the name of the
>> Configuration Control database. Change it only if you must." />
>>
>> <Control Id="BottomLine" Type="Line" X="0" Y="280" Width="370"
>> Height="0" />
>>
>> </Dialog>
>> </UI>
>> </Fragment>
>>
>> <Fragment>
>> <Binary Id="Install_ControlObjects"
>> SourceFile="SQLData\install_PVObjects.sql" />
>>
>> <ComponentGroup Id="DatabaseComponentGrp" Directory="INSTALLLFOLDER">
>> <Component Id ="cmpUser" Guid="*" KeyPath="yes">
>> <util:User Id="utilUser" Name="[USER_NAME]" Password="[PASSWORD]"
>> />
>> </Component>
>>
>> <Component Id="cmpCreateDb" Guid="*" KeyPath="yes">
>> <Condition>[CREATE_DB]</Condition>
>> <sql:SqlDatabase Id="SqlDatabase_ControlDb"
>> Server="[SERVER_NAME]"
>> Instance ="[INSTANCE_NAME]"
>> Database="[DB_NAME]"
>> User = "utilUser"
>> CreateOnInstall="yes"
>> DropOnUninstall="no"
>> ContinueOnError="yes" >
>> <sql:SqlScript Id="cmpCreateControlObjects"
>> BinaryKey ="Install_ControlObjects"
>> ExecuteOnInstall="yes"
>> ContinueOnError="yes" />
>> </sql:SqlDatabase>
>> </Component>
>> </ComponentGroup>
>>
>> </Fragment>
>> </Wix>
>>
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/
>>
>
>
More information about the wix-users
mailing list