The SQL Server Express edition (e.g. 2014) allows itself to be installed silently.
Other earlier versions of SQL Expression edition do so to.
Once you download the Microsoft installer, e.g:
SQLEXPR_x64_ENU.exe
And you extract it, as explained in accepted answer, you can go further and install the product silently.
The following is an example of how to install SQL Server Expression 2014 on a dump dummy test location.
setup.exe /q /Action=Install /IAcceptSQLServerLicenseTerms=True /Features=SQL /InstanceName=SQLExpressTest01 /SQLSYSADMINACCOUNTS="Builtin\Administrators" /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /INSTANCEDIR="c:\dev\dump\SQLExpressInstanceDir" /INSTALLSHAREDDIR="c:\dev\dump\SQLExpressInstanceDir"
An overview of command options to setup.exe is given by the Microsoft official documentation:
https://social.technet.microsoft.com/wiki/contents/articles/940.how-to-embed-sql-server-express-in-an-application.aspx#advInstall
In the preceding examples:
/q – specifies that Setup run in a quiet mode without any user
interface.
/Action – specifies which action to perform. In this
example, the action is Install.
/Hideconsole – specifies that the console window is hidden or closed during the install.
/IAcceptSQLServerLicenseTerms - indicates acceptance of the Microsoft
SQL Server license terms.
/Features – specifies which parent features
and features to install. In this example, the parent feature SQL is
installed, which includes SQLEngine, Replication, and Fulltext
components. The Tools feature installs all of the tools components.
/InstanceName – specifies a SQL Server instance name.
/SQLSYSADMINACCOUNTS –provisions logins to be members of the system
administrators role.
/SQLSVCACCOUNT – specifies the startup account
for the SQL Server service.
/SQLSVCPASSWORD – specifies the password
for SQLSVCACCOUNT.
What you cannot do with Microsfot SQL Server, bundle it stand-alone, as you would do with HSQL or PostgresSQL.
Microsoft SQL Server needs to be installed running its full fledged installer on the target machine where your intend to run your application.
Not the most portable database in this regard.