Wix SQL Server 2014 SP1 Express

604 views Asked by At

I'm trying to install SQL Express 2014 SP1 within my wix bundle and this is the install command I'm using

InstallCommand='/IACCEPTSQLSERVERLICENSETERMS /HIDECONSOLE /INSTANCEID="SQLEXPRESS" /ACTION="Install" /FEATURES=SQLENGINE /HELP="False" /INDICATEPROGRESS="False" /QUIET="True" /QUIETSIMPLE="False" /X86="True" /ERRORREPORTING="False" /SQMREPORTING="False" /INSTANCENAME="SQLEXPRESS" /AGTSVCSTARTUPTYPE="Manual" /ISSVCSTARTUPTYPE="Automatic" /ISSVCACCOUNT="NT AUTHORITY\NetworkService" /ASSVCSTARTUPTYPE="Automatic" /ASCOLLATION="Latin1_General_CI_AS" /ASDATADIR="Data" /ASLOGDIR="Log" /ASBACKUPDIR="Backup" /ASTEMPDIR="Temp" /ASCONFIGDIR="Config" /ASPROVIDERMSOLAP="1" /SQLSVCSTARTUPTYPE="Automatic" /FILESTREAMLEVEL="0" /ENABLERANU="True" /SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /ADDCURRENTUSERASSQLADMIN="True" /TCPENABLED="0" /NPENABLED="0" /BROWSERSVCSTARTUPTYPE="Disabled" /RSSVCSTARTUPTYPE="Automatic" /RSINSTALLMODE="FilesOnlyMode" /SECURITYMODE=SQL /SAPWD="R3nbeck0011!"' 

While the extraction window pops up and the extraction is done, the setup.exe is never called. Any ideas about this ?

If I navigate to the folder and run setup.exe with the InstallCommand it works fine, but I need it run after the extraction is done.

1

There are 1 answers

0
Brian Sutherland On BEST ANSWER

At the start of your command add "/qs" and that should fix your 2014 SQL installer showing a dialog when run silently. I think the /qs goes to the extraction portion of the install and then the rest gets forwarded to the second part of the install. My install string looks like this for SQL2014, we don't do as many features as you do.

/qs /QUIETSIMPLE /ACTION=Install /UpdateEnabled=0 /INSTANCENAME=$(var.OEMDefaultDatabaseInstance) /TCPENABLED=1 /NPENABLED=1 /BROWSERSVCSTARTUPTYPE="Automatic" /FEATURES=SQLENGINE,Tools /SECURITYMODE=SQL /ADDCURRENTUSERASSQLADMIN /SAPWD="[SAPWD]" /IACCEPTSQLSERVERLICENSETERMS /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="Builtin\Administrators" /SKIPRULES="RebootRequiredCheck""

One thing I would suggest is to not hardcode your SAPWD into the install command. I would instead use a hidden property so it doesn't show up in plaintext in the install logs. You can do this pretty easily like I've done in my command. I also define this property int he same fragment as my SQL Install ExePackage

<Variable Name="SAPWD" Persisted="yes" Type="string" Hidden="yes" Value="" bal:Overridable="yes"/>

This way when it prints out the install command in the logs you see /SAPWD="****" instead of actually printing the password. It's blank in the bundle's code because the bootstrapper I use gets a password from the user.

I'm not sure if it matters but I'm using &quot; instead of ". I think you will be fine because you opened your InstallCommand with a single quote ' instead of double " which is what I used. I would just double check the bootstrapper log to see that it is running the installer with the expected full install command.