我不确定,但是我认为我在某些权限上有问题...
我有这种方法:
static void ExecuteCommand(string _Command)
{
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + _Command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = false;
//procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
procStartInfo.Verb = "runas";
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
MessageBox.Show(result);
}
首先,我在台式机应用程序中执行了此代码,并且可以正常工作。
string createDB = @"sqlcmd -S " + SQLINSTANCE + @" -Q ""CREATE DATABASE " + DBNAME + @"""";
ExecuteCommand(createDB);
但是现在我试图通过自定义操作在安装项目中执行此错误:
数据库'master'中的CREATE DATABASE权限被拒绝。
如果我在cmd控制台中执行此字符串(具有和不具有管理员权限),它都可以正常运行...
问题出在哪里?