Process.Start не может найти исполняемый файл - PullRequest
0 голосов
/ 29 июня 2018

Я хочу изменить BCD из моего приложения .NET. Для этого я создал небольшой фрагмент:

static void RunBcdEdit() 
{
    Process process = new Process();
    process.StartInfo.FileName = "c:\\Windows\\System32\\bcdedit.exe";
    process.StartInfo.UseShellExecute = false;        
    process.WaitForExit();
}

Странно то, что он выдает исключение о том, что

система не может найти указанный файл

Что с этим не так?

1 Ответ

0 голосов
/ 29 июня 2018

У меня были похожие проблемы с запуском приложений из System32. Обходной путь, который я нашел, использовал SysNative. При тестировании не было согласованности, когда System32 будет работать или когда SysNative будет работать для разных приложений, которые находятся в System32.

static void RunBcdEdit() 
{
    Process process = new Process();
    process.StartInfo.FileName = "c:\\Windows\\SysNative\\bcdedit.exe";
    process.StartInfo.UseShellExecute = false;        
    process.WaitForExit();
}
...