[wix-users] Checking for SQL Server x64

John Cooper JoCooper at jackhenry.com
Wed Jun 15 14:29:12 PDT 2016


Then, the only sane thing to do is open a connection to the local SQL Server.  The connection object has a property that will give you the version (assuming the connection is successful).

Something like:

                    using (SqlConnection sc = new SqlConnection(connectionString))
                    {
                        sc.Open();
                        return sc.ServerVersion;
                    }

--
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 4:16 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [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.

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/
>

____________________________________________________________________
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.


More information about the wix-users mailing list