[wix-users] Setting Checkbox value from command line

Ven H venh.123 at gmail.com
Fri Jun 29 06:26:59 PDT 2018


As of now, I achieved it like below. Within each feature (I have only 2) in
Product.wxs, I wrote the below condition to handle silent installation.

Inside App feature,

 <Condition Level="1"><![CDATA[(INSTALL_APP = "1") AND (UILevel <=
3)]]></Condition>
 <Condition Level="0"><![CDATA[(INSTALL_APP = "") AND (UILevel <=
3)]]></Condition>

Inside DB feature,

<Condition Level="1"><![CDATA[(INSTALL_DB = "1") AND (UILevel <=
3)]]></Condition>
<Condition Level="0"><![CDATA[(INSTALL_DB = "") AND (UILevel <=
3)]]></Condition>

This is working fine for me, with the below command for the DB feature.

msiexec /qn /i MyMSI.msi /l*v 1.log INSTALL_APP="" INSTALL_DB="1"

Then I again execute the MSI using the next command to install the App as
below. This is a Change mode.

msiexec /qn /i MyMSI.msi /l*v 1.log INSTALL_APP="1" INSTALL_DB=""  (since
DB is already installed, I am passing it as "").

But it doesn't seem to be installing the 2nd feature in the silent install.
Can anyone please help?



On Wed, Jun 27, 2018 at 11:23 PM, Edwin Castro <egcastr at gmail.com> wrote:

> You don't upgrade features. You upgrade products. You can select features
> to be installed. You can also specified which features you want to not be
> installed.
>
> If you need to install 2 features and later you want to upgrade a single
> feature, then you need separate your features into separate products that
> can be upgraded separately.
>
> --
> Edwin G. Castro
>
>
> On Wed, Jun 27, 2018 at 10:10 AM, Ven H via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
>> Agreed James. Even in my UI, I haven't tested Upgrade.
>>
>> What I am not sure about is that during Upgrade, if I have to upgrade only
>> one of the 2 features and if I specify the REMOVE with a feature Id, it
>> will uninstall that feature (mentioned in REMOVE).
>>
>> Regards,
>> Venkatesh
>>
>> On Wed, Jun 27, 2018 at 10:10 PM, James Buchan <
>> James.Buchan at servelechsc.com
>> > wrote:
>>
>> > If you want to include a feature, then put it in the ‘ADDLOCAL’ list.
>> >
>> >
>> >
>> > If you have 2 features and want them both, then (as Edwin put earlier)
>> you
>> > use:
>> >
>> > ADDLOCAL=AppFeature,DBFeature
>> >
>> > If you only want 1 then you would do
>> >
>> > ADDLOCAL=AppFeature REMOVE= DBFeature
>> >
>> >
>> >
>> > Your UI was already doing this logic in the ‘Next’ event.
>> >
>> >
>> >
>> > James
>> >
>> >
>> >
>> > *From:* Ven H <venh.123 at gmail.com>
>> > *Sent:* 27 June 2018 17:05
>> > *To:* James Buchan <James.Buchan at servelechsc.com>
>> > *Cc:* WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
>> > *Subject:* Re: [wix-users] Setting Checkbox value from command line
>>
>> >
>> >
>> >
>> > Thanks a lot, James. As per the link, REMOVE will uninstall / remove a
>> > feature. So, how can I selectively install a feature during Ugrade?
>> >
>> >
>> > Regards,
>> > Venkatesh
>> >
>> >
>> >
>> > On Wed, Jun 27, 2018 at 9:18 PM, James Buchan <
>> > James.Buchan at servelechsc.com> wrote:
>> >
>> > UI logic is not executed during a silent install.
>> >
>> > This article should help you
>> > https://support.firegiant.com/hc/en-us/articles/230912227-
>> > Control-feature-states-for-silent-install-
>> >
>> > I've always done my silent installs with the ADDLOCAL/REMOVE approach.
>> > The one thing I would always recommend when dealing with
>> > enabling/disabling features, is to always pass exactly what you want to
>> do,
>> > if you don't want a feature, put it in the 'REMOVE' list, then you know
>> it
>> > wont be installed/updated.
>> >
>> > James
>> >
>> >
>> > -----Original Message-----
>> > From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of
>> Ven
>> > H via wix-users
>> > Sent: 27 June 2018 16:19
>> > To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
>> > Cc: Ven H <venh.123 at gmail.com>
>> > Subject: [wix-users] Setting Checkbox value from command line
>> >
>> > 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.SelectFeatureDlgT
>> itle)"
>> > 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[IN
>> STALL_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?
>> >
>> > ____________________________________________________________________
>> > WiX Toolset Users Mailing List provided by FireGiant
>> > http://www.firegiant.com/
>> >
>> >
>> >
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/
>>
>
>


More information about the wix-users mailing list