[wix-users] looking to see if "version" of a pre requisite is installed

Hoover, Jacob Jacob.Hoover at greenheck.com
Tue Aug 25 12:57:30 PDT 2015


      <![CDATA[(Installed OR (SQLSYNCX86SEARCH AND NOT VersionNT64) OR (VersionNT64))]]>

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steven Ogilvie
Sent: Tuesday, August 25, 2015 2:44 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] looking to see if "version" of a pre requisite is installed

Sigh, maybe I need more coffee but...
Here is what I have: 
<Property Id="SQLSYNCX86SEARCH" Secure="yes">
      <ProductSearch IncludeMinimum="yes" Minimum="2.1.1648.0" IncludeMaximum="yes" Maximum="2.1.9999.9" UpgradeCode="{6555CEBF-27C8-4E55-909B-988FDA708872}"/>
    </Property>

Condition:
<Condition Message="$(var.PlatformProductName) requires Microsoft Sync Framework 2.1 Core Components (x86). Please install the pre-requisite, then restart the setup.">
      <![CDATA[(Installed OR (SQLSYNCX86SEARCH >= "2.1.1648.0" AND NOT VersionNT64) OR (VersionNT64))]]>
    </Condition>

Of course SQLSYNCX86SEARCH returns the productcode GUID of the product it found using the upgrade code, 

I want to evaluate that SQLSYNCX86SEARCH is not empty (because if it can't find a product with that upgradecode the property will be empty... so what would I put in the condition?
<Condition Message="$(var.PlatformProductName) requires Microsoft Sync Framework 2.1 Core Components (x86). Please install the pre-requisite, then restart the setup.">
      <![CDATA[(Installed OR (SQLSYNCX86SEARCH <ISNOTEMPTY> AND NOT VersionNT64) OR (VersionNT64))]]>
    </Condition>

Thanks,

Steve

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Hoover, Jacob
Sent: August-25-15 3:12 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] looking to see if "version" of a pre requisite is installed

Try it without a default value on the property.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steven Ogilvie
Sent: Tuesday, August 25, 2015 2:07 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] looking to see if "version" of a pre requisite is installed

Okay I am trying this:

<Property Id="SQLSYNCX86SEARCH" Secure="yes" Value="0">
      <ProductSearch IncludeMinimum="yes" Minimum="2.1.1648.0" IncludeMaximum="yes" Maximum="2.1.9999.9" UpgradeCode="{6555CEBF-27C8-4E55-909B-988FDA708872}"/>
    </Property>

And a condition:
<Condition Message="$(var.PlatformProductName) requires Microsoft Sync Framework 2.1 Core Components (x86). Please install the pre-requisite, then restart the setup.">
      <![CDATA[(Installed OR (SQLSYNCX86SEARCH >= "2.1.1648.0" AND NOT VersionNT64) OR (VersionNT64))]]>
    </Condition>

But when it compiles I get this error:
Error	1	ICE61: Upgrade.ActionProperty SQLSYNCX86SEARCH cannot be authored in the Property table.	C:\Dev\Core Technologies\Releases\4.4.RTM\Setup\TMC_Client_Setup\Product.wxs	56	1	TMC_Client_Setup

Sigh...

Steve

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Hoover, Jacob
Sent: August-25-15 2:28 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] looking to see if "version" of a pre requisite is installed

Could you search by upgrade code using the Upgrade/UgradeVersion providing the minimum version you support with a OnlyDetect=yes?  It also looks like we simplified that with a Property/ProductSearch[@UpgradeCode=X, Minimum=Y].

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steve Ogilvie
Sent: Tuesday, August 25, 2015 12:39 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] looking to see if "version" of a pre requisite is installed

Hi,

 

A product I am working on installs various Microsoft "pre requisites". Once being:

<!-- Check for Microsoft Sync Framework 2.1 Core Components
x86 -->

<Property
Id="SQLSYNCX86SEARCH" Secure="yes" Value="0">

 
<RegistrySearch Id="SQLSyncx86Search"

                     
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7AC8EF88-D996-4D47-B40C-4DD93E307481}"

                     
Name="DisplayVersion"

                     
Root="HKLM"

                     
Type="raw"

                     
Win64="no"/>

</Property>

And a condition check:

<Condition
Message="$(var.PlatformProductName) requires Microsoft Sync Framework 2.1 Core Components (x86). Please install the pre-requisite, then restart the setup.">

     
<![CDATA[(Installed OR (SQLSYNCX86SEARCH > "0" AND NOT
VersionNT64) OR (VersionNT64))]]>

   
</Condition>

 

This was working great until a "newer" version of SQL Sync came out...

 

I need to look for Microsoft Sync Framework 2.1 Core Components version 2.1.1648.0 and greater...

 

Is there an easy way to look up without knowing the Product GUID?

 

is that right?

 

Cheers,

 

Steve 		 	   		   		 	   		  

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
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