我使用 WinBuilder 将 .NET 3.0/2.0 的支持包含到 Windows PE 3.0 中。我制作了一个程序来检查系统文件夹中的必要程序。我知道 diskpart 位于 windows PE 中的“X:\Windows\System32\diskpart.exe”。但是当我使用这段代码时:
if (File.Exists(@"X:\Windows\System32\diskpart.exe"))
{
MessageBox.Show("Found it");
}
它没有找到该文件。我尝试将一串文本写入批处理文件,如下所示:
System.IO.WriteAllText(@"X:\temp\diskpart.cmd", "diskpart.exe\npause");
Process proc = new Process;
proc.StartInfo.FileName = @"X:\temp\diskpart.cmd";
proc.Start();
它启动批处理文件就好了,但它指出它找不到程序diskpart.exe。奇怪的是,当我离开程序并手动输入 X:\temp\diskpart.cmd 时,它运行批处理文件就可以了,并且能够运行 diskpart.exe。我也试过把进程的用户名改成SYSTEM,还是不行。
我知道不支持在 WinPE 中对 .NET 的本机支持,但我想我至少会尝试一下。有谁知道可能是什么问题?