Hello people,
I'm attempting to install SQL Server 2012 Express from command line with silent mode, this installation is embedded with a console application:
static void Main(string[] args)
{
Console.WriteLine("Old instances count: " + Tools.GetLocalSqlServerInstanceNames().Count);
string SetupDirectory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string sqlSetupFileName ="SQLEXPR_x86_ENU.exe";
if (System.IO.File.Exists(SetupDirectory + @"\" + sqlSetupFileName))
{
string command = "SQLEXPR_x86_ENU";
string argument = string.Format("/X: \"{0}\\SQLEXPRESSSTUP\", SetupDirectory);
int resu = Tools.ExecuteCommand(command, argument);
if (resu == 0)
{
argument = "";
argument += " " + "/ACTION=Install";
argument += " " + "/FEATURES=SQLEngine";
argument += " " + "/INSTANCENAME=SQLEXPRESS";
argument += " " + "/Q";
argument += " " + "/HIDECONSOLE";
argument += " " + "/SECURITYMODE=SQL";
argument += " " + "/SAPWD=dotsquare";
//argument += " " + "/SQLSVCACCOUNT=" + System.Security.Principal.WindowsIdentity.GetCurrent().Name;Environment.UserDomainName
argument += " " + "/SQLSVCACCOUNT=" + Environment.UserDomainName + @"\" + "LocalSystem";
//argument += " " + "/SQLSVCPASSWORD=\"StrongPassword\"";
argument += " " + "/AddCurrentUserAsSQLAdmin";
argument += " " + "/IACCEPTSQLSERVERLICENSETERMS=True";
try
{
System.Diagnostics.Process processObj = System.Diagnostics.Process.Start(SetupDirectory + @"\SQLEXPRESSSTUP\Setup.exe", argument);
do
{
//refresh the process
processObj.Refresh();
} while (!processObj.WaitForExit(1000));
Console.WriteLine("Process exited with {0}!", processObj.ExitCode);
}
catch
{
Console.WriteLine("An error has occured!");
}
}
else
{
Console.WriteLine("Extraction failed, please try again !");
}
}
else
{
Console.WriteLine("SQL Setup is not found !");
}
Console.ReadKey();
}This program extracts and fires up the SQL Server Express setup but it fails when it reaches the service accounts step. I want to use any other account to pass the step and complete the setup.
Please help.