[wix-users] Conditional Feature

Walter Dexter wfdexter at gmail.com
Tue Aug 11 12:32:20 PDT 2020


It looks like my overall feature/condition structure was OK.

Switched to VersionNT64 and it worked, and that bothered me, so I got
looking.

Forgot that properties are case sensitive, and the correct property I was
trying for was *M*six64 - capital "M".

That said, I'm sticking with VersionNT64 because Msix64 is a bit
ambiguously defined. This is a mess!


   - Msix64: The Msix64 property is defined only if running on an x64
   processor. (But is it set on a 32-bit OS on a 64-bit processor? Probably
   not, but it doesn't say.)
   - VersionNT64: The installer sets the VersionNT64 property to the
   version number for the operating system only if the system is running on a
   64-bit computer. (This one is a bit confusing, but at least it talks about
   the OS.)
   - Intel64: The Intel64 property is defined only when it is running on an
   Itanium processor. (I bet this one sends people down the wrong path
   sometimes - how many people even know what an Itanium was!)

Thanks, & have a good day-
Walt

On Tue, Aug 11, 2020 at 8:48 AM Walter Dexter <wfdexter at gmail.com> wrote:

> Thanks, I’m sure it will help, need to look at it on a much bigger screen.
>
> msix64 and VersionNT64 are both properties set by windows installer on 64
> bit OS. If you look in a log they’re both there.
>
> Thanks again.
>
> On Tue, Aug 11, 2020 at 8:44 AM Steven Ogilvie <stogilvie at genetec.com>
> wrote:
>
>> This is how I have it set up:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!--DEV: DO NOT MODIFY-->
>> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>   <!--<?include $(var.ProjectDir)\Variables.wxi?>-->
>>   <Fragment>
>>     <FeatureGroup Id ="PluginFeatures">
>>       <!-- This feature installs all files regardless of Client or Server
>> features selected in Suite -->
>>       <Feature Id="Plugin"
>>                Title="Plugin"
>>                Level="1"
>>                ConfigurableDirectory="INSTALLFOLDER">
>>         <ComponentGroupRef Id="RootComponents"/>
>>         <ComponentGroupRef Id="ResourcesComponents"/>
>>         <ComponentGroupRef Id="CertificatesComponents"/>
>>         <ComponentGroupRef Id="AbcComponents"/>
>>       </Feature>
>>       <!-- This feature installs all Client files from the Client feature
>> selected in the Suite -->
>>       <Feature Id="Client"
>>                Title="Client"
>>                Level="0"
>>                ConfigurableDirectory="INSTALLFOLDER">
>>         <ComponentGroupRef Id="ClientComponents"/>
>>         <Condition Level="1"><![CDATA[FEATURE_CLIENT=1 OR
>> REMOVE]]></Condition>
>>       </Feature>
>>       <!-- This feature installs all Server files from the Server feature
>> selected in the Suite -->
>>       <Feature Id="Server"
>>                Title="Server"
>>                Level="0"
>>                ConfigurableDirectory="INSTALLFOLDER">
>>         <ComponentGroupRef Id="ServerComponents"/>
>>         <Condition Level="1"><![CDATA[FEATURE_SERVER=1 OR
>> REMOVE]]></Condition>
>>       </Feature>
>>     </FeatureGroup>
>>   </Fragment>
>> </Wix>
>>
>> BTW what is msix64, you should use the WiX property " <![CDATA[NOT
>> VersionNT64]]>"
>>
>> So your condition would be "<Condition Level="1"><![CDATA[NOT
>> VersionNT64]]></Condition>"
>>
>> I hope that helps,
>>
>> Steve
>>
>> > -----Original Message-----
>> > From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of
>> > Walter Dexter via wix-users
>> > Sent: August 10, 2020 7:40 PM
>> > To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
>> > Cc: Walter Dexter <wfdexter at gmail.com>
>> > Subject: [wix-users] Conditional Feature
>> >
>> > CAUTION: This email appears to be from an external sender. Be vigilant
>> when
>> > clicking any link in the email or providing credentials.
>> >
>> > ATTENTION: Ce courriel semble provenir d'un domaine externe. Soyez
>> > vigilant avec le contenu surtout les liens ou les demandes
>> d'authentification.
>> >
>> > What am I doing wrong here? My goal is for the feature to only be
>> installed
>> > on 32-bit OS, but these components and component groups are definitely
>> > being installed. Do I need to do the condition for each component
>> > individually?
>> >
>> > <Feature Id="FEAT_X86_ONLY" Title="Components that only apply to PR7"
>> > Level="0">
>> >     <Condition Level="1" >
>> >             <![CDATA[NOT msix64]]>
>> >         </Condition>
>> >         <ComponentGroupRef Id="CMPG_CYGWIN" />
>> >         <ComponentGroupRef Id="CMPG_APP" />
>> >         <ComponentGroupRef Id="CMPG_SHARES" />
>> >         <ComponentRef  Id="RC11_REMOV_REGISTRY" />
>> >         <ComponentRef  Id="CMP_GUM_REGISTRY_KEY" />
>> >         <ComponentRef  Id="CMP_INBOUND_DIR" />
>> >         <ComponentRef  Id="CMP_OUTBOUND_DIR" />
>> >         <ComponentRef  Id="CMP_CREAT_PRINT" /> </Feature>
>> >
>> > Thanks as always!
>> >
>> > Walt
>> >
>> > __________________________________________________________
>> > __________
>> > WiX Toolset Users Mailing List provided by FireGiant
>> > https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
>> > firegiant.com%2F&data=02%7C01%7Cstogilvie%40genetec.com%7C11d
>> > 9447c96924cad4c5d08d83d86c19a%7C7ba8d2fb46604a19802e4d015a17e167%
>> > 7C0%7C0%7C637326996266114203&sdata=Lj0A8ZwOps20WuesQipH3W2
>> > dgykecWx%2BXqbW%2FCxjpTE%3D&reserved=0
>>
>



More information about the wix-users mailing list