[wix-users] Setting Checkbox value from command line

Ven H venh.123 at gmail.com
Wed Jun 27 08:19:16 PDT 2018


I have a Dialog like below.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Fragment>

    <UI>
      <Dialog Id="SelectFeatureDlg" Title="!(loc.SelectFeatureDlgTitle)"
Width="370" Height="270" NoMinimize="yes">
     <Control Id="Title" Type="Text" X="15" Y="6" Width="250" Height="15"
Transparent="yes" NoPrefix="yes"  Text="!(loc.FeatureTitle)"/>
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15"
Transparent="yes" NoPrefix="yes" Text="!(loc.FeatureDescription)" />

        <Control Id="chkBoxAll" Type="CheckBox" X="50" Y="65" Width="110"
Height="17" Property="INSTALL_ALL" CheckBoxValue="1"
Text="!(loc.AllFeatureText)">
        <Publish Property="INSTALL_APP" Value="1"
Order="1">INSTALL_ALL</Publish>
          <Publish Property="INSTALL_APP" Value="{}" Order="2">NOT
INSTALL_ALL</Publish>
          <Publish Property="INSTALL_DB" Value="1"
Order="3">INSTALL_ALL</Publish>
          <Publish Property="INSTALL_DB" Value="{}" Order="4">NOT
INSTALL_ALL</Publish>
          <Condition Action="disable">(!AppFeature = 3) OR (!DBFeature =
3)</Condition>
        </Control>
        <Control Id="chkBoxApp" Type="CheckBox" X="71" Y="85" Width="110"
Height="17" Property="INSTALL_APP" CheckBoxValue="1"
Text="!(loc.AppFeatureText)">   <Publish Property="INSTALL_ALL" Value="{}"
Order="1">NOT INSTALL_APP AND NOT INSTALL_DB</Publish>
          <Publish Property="INSTALL_ALL" Value="1"
Order="2">INSTALL_APP</Publish>
          <Condition Action="disable">!AppFeature = 3</Condition>
          <Condition Action="enable">!AppFeature = 2</Condition>
        </Control>
        <Control Id="chkBoxDB" Type="CheckBox" X="71" Y="105" Width="110"
Height="17" Property="INSTALL_DB" CheckBoxValue="1"
Text="!(loc.DBFeatureText)">    <Publish Property="INSTALL_ALL" Value="{}"
Order="1">NOT INSTALL_APP AND NOT INSTALL_DB</Publish>
          <Publish Property="INSTALL_ALL" Value="1"
Order="2">INSTALL_DB</Publish>
         <Condition Action="disable">!DBFeature = 3</Condition>
        <Condition Action="enable">!DBFeature = 2</Condition>
        </Control>

        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56"
Height="17" Text="!(loc.WixUIBack)">
           <Publish Event="NewDialog" Value="CustLicenseAgmtDlg"
Order="1">NOT Installed</Publish>
          <Publish Event="NewDialog" Value="CustMaintenanceTypeDlg"
Order="2">Installed</Publish>
        </Control>
        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56"
Height="17" Default="yes" Text="!(loc.WixUINext)">
          <Publish Event="SpawnWaitDialog"
Value="WaitForCostingDlg">CostingComplete = 1</Publish>
   <Publish Event="NewDialog" Value="ConnDetailsDlg">NOT INSTALLED</Publish>
          <Publish Event="NewDialog"
Value="InstallDlg">WIX_UPGRADE_DETECTED</Publish>
             <Condition Action="disable">NOT INSTALL_APP OR NOT INSTALL_DB
OR (((!AppFeature = 3) AND (!DBFeature = 2) AND NOT INSTALL_DB) AND
((!DBFeature = 3) AND (!AppFeature = 2) AND NOT INSTALL_APP)) OR
((!AppFeature = 3) AND (!DBFeature = 3))</Condition>
          <Condition Action="enable">(INSTALL_APP OR INSTALL_DB) AND
(((!AppFeature = 2) AND INSTALL_APP) OR ((!DBFeature = 2) AND
INSTALL_DB))</Condition>
           <Publish Event="AddLocal" Value="ALL">1</Publish>
          <Publish Event="Remove" Value="AppFeature"><![CDATA[INSTALL_APP
<> "1"]]></Publish>
          <Publish Event="Remove" Value="DBFeature"><![CDATA[INSTALL_DB <>
"1"]]></Publish>
        </Control>
      </Dialog>
</UI>
  </Fragment>
</Wix>

AppFeature & DBFeature are the feature IDs. I need to have the ability for
Silent Install. But even when I pass INSTALL_APP="" and INSTALL_DB="1", it
is always installing the app feature also. I tried  INSTALL_APP="{}" also,
but still it installs the app feature. I also tried not passing this
property at all from the command line, but still no luck. Can anyone please
help me achieve this?


More information about the wix-users mailing list