I have a setup project in Visual Studio 2015 for my .NET Windows Forms project that needs SQL Server 2012 Express as a prerequisite. I have successfully created a bootstrapper (located in C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\SqlExpress2012
) and added the following command to make it silent:
/q /action=Install /features=SQL,AS,RS,IS,Tools
/instancename=SQLExpress /sqlsvcaccount="NT AUTHORITY\Network Service"
/sqlsysadminaccounts="BUILTIN\Users"
/agtsvcaccount="NT AUTHORITY\Network Service"
/IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck`
however I still get the EULA popup despite having /IAcceptSqlServerLicenseTerms
.
The install.log
indicates that the command is indeed being applied (and the fact it does install silently, just after I have to click on the EULA). What gives? I'm confused on how it picks up all the rest of the command but ignores the /IAcceptSqlServerLicenseTerms
.
The only theory I have is that it first calls SqlExpressChk.exe
to determine whether to install the x32 or x64 bit version, and the EULA is attached to that. Any thoughts?
Here's the install.log line indicating my command is indeed being applied:
Installing using command 'C:\Users\ljhersma\AppData\Local\Temp\VSD11B8.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE' and parameters '/qs /action=Install /features=SQL,AS,RS,IS,Tools /instancename=SQLExpress /sqlsvcaccount="NT AUTHORITY\Network Service" /sqlsysadminaccounts="BUILTIN\Users" /agtsvcaccount="NT AUTHORITY\Network Service" /ENABLERANU /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck'
/IAcceptSqlServerLicenseTerms
,/IAcceptSqlServerLicenseTerms=true
,/IAcceptSqlServerLicenseTerms=True
, and/IAcceptSqlServerLicenseTerms=1
and none worked. The documentation does make it pretty clear that/IAcceptSqlServerLicenseTerms
should default to true. EDIT: Caps didn't work either. – Gautama