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)