[wix-users] Checking for SQL Server x64

Brian Enderle brianke at gmail.com
Wed Jun 15 14:15:49 PDT 2016


There is a specific requirement that SQL exists on the same server our
application is being installed on so I cannot punt on the presence of SQL
Server.

Brian

If you can't explain it simply, you don't understand it well enough.  -
Albert Einstein

On Wed, Jun 15, 2016 at 4:14 PM, John Cooper <JoCooper at jackhenry.com> wrote:

> I should also note, that when checking the connection, I also obtain the
> version of SQL Server installed.  If it is inadequate, I fail the database
> deployment at that point.  I support a wide range of SQL Server, but SQL
> Server 2008 R2 is the most common in the field, with 2012, and then 2014 in
> that order.
>
> --
> John Merryweather Cooper
> Senior Software Engineer | Integration Development Group | Enterprise
> Notification Service
> Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |
> JoCooper at jackhenry.com
>
>
>
>
> -----Original Message-----
> From: John Cooper
> Sent: Wednesday, June 15, 2016 3:11 PM
> To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
> Subject: RE: [wix-users] Checking for SQL Server x64
>
> I would punt on the presence of SQL Server.  It is very unusual (most
> database admins I know would NOT allow an application on one of their
> servers) to deploy locally.  The usual deployment method is to deploy
> remotely.  My libraries check the remote server for the ability to
> establish a connection first, but then deployment occurs in short order.
>
> By requiring a local-only deployment, you eliminate a remote deployment
> which is the usual case.
>
> --
> John Merryweather Cooper
> Senior Software Engineer | Integration Development Group | Enterprise
> Notification Service Jack Henry & Associates, Inc.® | Lenexa, KS  66214 |
> Ext:  431050 |JoCooper at jackhenry.com
>
>
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Brian Enderle
> Sent: Wednesday, June 15, 2016 3:02 PM
> To: WiX Users <wix-users at lists.wixtoolset.org>
> Subject: [wix-users] Checking for SQL Server x64
>
> The e-mail below is from an external source.  Please do not open
> attachments or click links from an unknown or suspicious origin.
>
> I need to check a system to make sure SQL Server 2008 R2, 2012 or 2014 (all
> 64 bit versions) are installed before allowing the user to install the
> program.
>
> I started with the following condition to check that SQL 2014 is installed
>
>     <!-- Go find the SQLServer 64-bit version from the registry. -->
>     <Property Id="SQLVERSION" Value="NA">
>       <RegistrySearch Id="SQLVERSION"
>                       Type="raw"
>                       Root="HKLM"
>                       Key="SOFTWARE\Microsoft\Microsoft SQL Server"
>                       Name="InstalledInstances" />
>     </Property>
>
>     <Condition Message="A 64 bit version of SQL Server 2008 R2 or later
> was not found on this machine.">
>       <![CDATA[(SQLVERSION <> "SQL2014")]]>
>     </Condition>
>
> When I run the installer on a machine with SQL 2014 x64, the installer
> proceeds as I would expect.  When I run on a machine with just SQL 2008 R2
> x64, the installer proceeds but I would expect it to display the condition
> message and NOT proceed with installation.
>
> I have a few questions concerning this:
>
> 1. Is the Key I am searching the correct key.  If SQL server 2014 x86 is
> installed will HKLM\SOFTWARE\Microsoft\Microsoft SQL Server still equate to
> 'SQL2014'.  If so, is there a way to check the bitness of the installed SQL?
>
> 2. When I view the install log (run with verbose logging) I see this:
>
> AppSearch: Property: SQLVERSION, Signature: SQLVERSION MSI (c) (3C:FC)
> [15:52:17:369]: Note: 1: 2262 2: Signature 3: -2147287038
>
> Is there a way to display the value assigned to SQLVERSION in the verbose
> logging?
>
> 3. My final solution needs to check if SQL 2008 R2, SQL 2012 or SQL 2102
> is installed, something like:
>
> <Condition Message="A 64 bit version of SQL Server 2008 R2 or later was
> not found on this machine.">
>       <![CDATA[(SQLVERSION <> "SQL2014")]]> AND  <![CDATA[(SQLVERSION <>
> "SQL2012")]]> AND <![CDATA[(SQLVERSION <> "SQL2008R2")]]>
>     </Condition>
>
> Is this the correct way to do this?
>
>
> Brian
>
> If you can't explain it simply, you don't understand it well enough.  -
> Albert Einstein
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>
> NOTICE: This electronic mail message and any files transmitted with it are
> intended
> exclusively for the individual or entity to which it is addressed. The
> message,
> together with any attachment, may contain confidential and/or privileged
> information.
> Any unauthorized review, use, printing, saving, copying, disclosure or
> distribution
> is strictly prohibited. If you have received this message in error, please
> immediately advise the sender by reply email and delete all copies.
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>


More information about the wix-users mailing list