Я не уверен, но я думаю, что у меня проблемы с некоторыми разрешениями ...
У меня есть этот метод:
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 (с правами администратора и без прав), она будет отлично работать ...
В чем проблема?