Microsoft SQL Express 2012 Silent Unattended installation using Configuration file


Silent installation is nothing but setting required installation configurations at once and reusing these configurations for installations in many machines. In Silent mode installation (also called as unattended installation because no user action required once it starts) install program reads configuration settings from some file called as Configuration file. In this article we discuss about how to install SQL Express 2012 through Silent or Unattended mode.

Generate Configuration File: For Silent installation we require Configuration file which has all settings. That means first we have to generate all steps manually to allow program to save settings in one file. But SQL Express 2012 installer exe will not generate any configuration file if we open exe directly. Instead of that we have to run Microsoft SQL Express 2012 through command prompt where UIMODE should be Normal.

Open Command Prompt => Navigate to folder where we have SQL Express 2012 exe and Run below command.

 

It opens the installation and click Next, Next Button by providing some instance name (here we provided instance name as SQLExpress2012) until we got Ready to Install window where we have the Configuration file path as shown below.

 

Copy the configuration file from the above path and save in some folder. Now we have to edit this Configuration file to make it works for the Silent installation.

1) Change QUIET value to True to install without any user interface

2) Change SQLSYSADMINACCOUNTS to BUILTIN\Administrators

3) Add IACCEPTSQLSERVERLICENSETERMS="True" at the bottom of the configuration file which accepts terms and conditions by default

4) Remove UIMODE parameter

The final Configuration file contains data as shown below.

ConfigurationFile.ini

;SQL Server 2012 Configuration File

[OPTIONS]

 

; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.

ACTION="Install"

 

; Detailed help for command line argument ROLE has not been defined yet.

ROLE="AllFeatures_WithDefaults"

 

; Detailed help for command line argument ENU has not been defined yet.

ENU="True"

 

; Setup will not display any user interface.

QUIET="True"

 

; Setup will display progress only, without any user interaction.

QUIETSIMPLE="False"

 

; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found.

UpdateEnabled="False"

 

; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components.

FEATURES=SQLENGINE,REPLICATION

 

; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.

UpdateSource="MU"

 

; Displays the command line parameters usage

HELP="False"

 

; Specifies that the detailed Setup log should be piped to the console.

INDICATEPROGRESS="False"

 

; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.

X86="False"

 

; Specify the root installation directory for shared components.  This directory remains unchanged after shared components are already installed.

INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"

 

; Specify the root installation directory for the WOW64 shared components.  This directory remains unchanged after WOW64 shared components are already installed.

INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"

 

; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS).

INSTANCENAME="SQLEXPRESS2012"

 

; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance.

INSTANCEID="SQLEXPRESS2012"

 

; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature.

SQMREPORTING="False"

 

; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature.

ERRORREPORTING="False"

 

; Specify the installation directory.

INSTANCEDIR="C:\Program Files\Microsoft SQL Server"

 

; Agent account name

AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"

 

; Auto-start service after installation. 

AGTSVCSTARTUPTYPE="Disabled"

 

; CM brick TCP communication port

COMMFABRICPORT="0"

 

; How matrix will use private networks

COMMFABRICNETWORKLEVEL="0"

 

; How inter brick communication will be protected

COMMFABRICENCRYPTION="0"

 

; TCP port used by the CM brick

MATRIXCMBRICKCOMMPORT="0"

 

; Startup type for the SQL Server service.

SQLSVCSTARTUPTYPE="Automatic"

 

; Level to enable FILESTREAM feature at (0, 1, 2 or 3).

FILESTREAMLEVEL="0"

 

; Set to "1" to enable RANU for SQL Server Express.

ENABLERANU="True"

 

; Specifies a Windows collation or an SQL collation to use for the Database Engine.

SQLCOLLATION="Latin1_General_CI_AI"

 

; Account for SQL Server service: Domain\User or system account.

SQLSVCACCOUNT="NT Service\MSSQL$SQLEXPRESS2012"

 

; Windows account(s) to provision as SQL Server system administrators.

SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS"

 

; Provision current user as a Database Engine system administrator for SQL Server 2012 Express.

ADDCURRENTUSERASSQLADMIN="True"

 

; Specify 0 to disable or 1 to enable the TCP/IP protocol.

TCPENABLED="0"

 

; Specify 0 to disable or 1 to enable the Named Pipes protocol.

NPENABLED="0"

 

; Startup type for Browser Service.

BROWSERSVCSTARTUPTYPE="Automatic"

 

; Accept Terms & Conditions

IACCEPTSQLSERVERLICENSETERMS="True"

 

Now create installable file called batch file and name it as install_SQLExpress2012.bat by mentioning the installer exe path and configuration file path as shown below.

@ECHO Installing SQL Express 2012

"E:\SQLExpress2012\SQLEXPR_x64_ENU.exe" /ConfigurationFile="E:\SQLExpress2012\ConfigurationFile.ini"

date/t

time /t

Now open the install_SQLExpress2012.bat file, it installs the SQL Express 2012 with instance name as “SQLExpress2012” silently without any action. Once installation completes you can check whether SQLExpress2012 by opening the SQL Configuration manager as shown below.

                                                                                                     

                                                                                                                    SQLExpress2012Install.zip (2.7KB)