【发布时间】:2018-06-29 17:57:43
【问题描述】:
我想从我的 .NET 应用程序中更改 BCD。为此,我创建了这个小 sn-p:
static void RunBcdEdit()
{
Process process = new Process();
process.StartInfo.FileName = "c:\\Windows\\System32\\bcdedit.exe";
process.StartInfo.UseShellExecute = false;
process.WaitForExit();
}
奇怪的是它抛出了一个异常
系统找不到指定的文件
这是怎么回事?
【问题讨论】:
-
Whelp,听起来 c:\Windows\System32\bcdedit.exe 有时无法访问?
-
System32 是一个非常“奇怪”的目录。如果您有一个 32 位应用程序试图访问它,它会被重定向到 \windows\syswow64。这可能是让你绊倒的原因。
-
Project > Properties > Build 选项卡,取消勾选“Prefer 32-bit”复选框。你不喜欢它。从this page 了解有关在 64 位操作系统上用于保持 32 位应用程序兼容的文件系统重定向器的更多信息。
-
那么,与 BCDEdit 交互的最佳方法是什么?还是修改 BCD?
标签: c# .net process.start