C# 以编程方式安装SQL Server 2012 Express
我使用安装应用程序来安装我的WPF产品的所有要求,其中一个要求是SQL Server 2012 Express,下面的代码是在我生成静默安装的配置文件后安装它:C# 以编程方式安装SQL Server 2012 Express,c#,wpf,command-line,sql-server-2012-express,C#,Wpf,Command Line,Sql Server 2012 Express,我使用安装应用程序来安装我的WPF产品的所有要求,其中一个要求是SQL Server 2012 Express,下面的代码是在我生成静默安装的配置文件后安装它: private void SetupSQLServer() { string result = ""; string commandLine = ""; if (os64) commandLine = string.Format(@"{0}\SQLServer\s
private void SetupSQLServer()
{
string result = "";
string commandLine = "";
if (os64)
commandLine = string.Format(@"{0}\SQLServer\sql64\setup.exe PCUSOURCE={0}\SQLServer\sql64 /SAPWD=""p@ssw0rd"" /CONFIGURATIONFILE={0}\SQLServer\ConfigurationFile64.ini /HIDECONSOLE", setupFolder);
else
commandLine = string.Format(@"{0}\SQLServer\sql86\setup.exe PCUSOURCE={0}\SQLServer\sql86 /SAPWD=""p@ssw0rd"" /CONFIGURATIONFILE={0}\SQLServer\ConfigurationFile32.ini /HIDECONSOLE", setupFolder);
startInfo.WorkingDirectory = setupFolder;
startInfo.Arguments = "/c " + commandLine;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
process.StartInfo = startInfo;
try
{
process.Start();
}
catch (Exception e)
{
result = e.Message;
}
result = result + "\n" + process.StandardOutput.ReadToEnd();
UpdateStepResult(result);
}
代码中没有错误,但不起作用。。当我运行代码时,命令窗口出现和消失,什么也没有发生
更新:
当我使用:
fileName = string.Format(@"{0}\SQLServer\sql64\setup.exe", setupFolder);
fileName = string.Format(@"{0}\SQLServer\sql64\setup.exe /CONFIGURATIONFILE={0}\SQLServer\sql64\ConfigurationFile64.ini", setupFolder);
安装正在运行,但没有配置文件,当我使用:
fileName = string.Format(@"{0}\SQLServer\sql64\setup.exe", setupFolder);
fileName = string.Format(@"{0}\SQLServer\sql64\setup.exe /CONFIGURATIONFILE={0}\SQLServer\sql64\ConfigurationFile64.ini", setupFolder);
它给我这个错误“系统找不到指定的文件”!!!
该文件存在于同一文件夹中
请你帮我找出错误
提前感谢。ProcessStartInfo要求FileName属性有效。上面的代码没有设置它,而是将所有内容作为参数传递 可能需要将命令行分为两部分。要运行的可执行文件和要传递的参数
if (os64)
{
fileName = string.Format("{0}\SQLServer\sql64\setup.exe", setupFolder);
commandLine = string.Format(@"PCUSOURCE={0}\SQLServer\sql64 /SAPWD=""p@ssw0rd"" /CONFIGURATIONFILE={0}\SQLServer\ConfigurationFile64.ini /HIDECONSOLE", setupFolder);
}
else
{
// Same for 32 bit
.....
}
....
startInfo.FileName = fileName;
....
安装程序是否在管理员权限下运行?我尝试使用管理员权限运行它(右键单击并以管理员身份运行)。运行Sql Server的自动安装不是一件容易的任务。我无法解释为什么您的配置文件不能工作。也许最好发布一个新问题,其中包含配置文件的详细信息和收到的错误。感谢Steve抽出时间,请检查问题更新。