C# Process.Start在Windows 8上运行,但在Windows 7上崩溃

C# Process.Start在Windows 8上运行,但在Windows 7上崩溃,c#,windows,process,C#,Windows,Process,因此,我使用以下代码使用cmd.exe执行一个进程。它在Windows8(我的开发机器)上运行良好。然而,当可执行文件在Windows7计算机上运行时,它不是打印出来的黑色弹出框,而是一个闪烁非常快且消失无误的黑色框。cmd窗口的标题中似乎除了cmd.exe之外没有其他内容 窗口关闭时,StandardOutput为空 wgetLocation是C:\Users\Kevin M\Desktop\wget\wget.exe 另外,在尝试捕获异常时,没有异常 感谢您的帮助 //Mak

因此,我使用以下代码使用cmd.exe执行一个进程。它在Windows8(我的开发机器)上运行良好。然而,当可执行文件在Windows7计算机上运行时,它不是打印出来的黑色弹出框,而是一个闪烁非常快且消失无误的黑色框。cmd窗口的标题中似乎除了cmd.exe之外没有其他内容

窗口关闭时,StandardOutput为空

wgetLocation是C:\Users\Kevin M\Desktop\wget\wget.exe

另外,在尝试捕获异常时,没有异常

感谢您的帮助

        //Make Folder to Store files
        string downloadedFiles = Path.Combine(Directory.GetCurrentDirectory(), txt_Site.Text);
        Directory.CreateDirectory(downloadedFiles);

        //Get List of Sites
        //Directory.SetCurrentDirectory(wgetLocation);
        wgetLocation = Path.Combine(wgetLocation, "wget.exe");
        Process p = new Process();
        p.StartInfo.FileName = "cmd.exe";
        p.StartInfo.Arguments = "/K " + wgetLocation + " --spider -r --adjust-extension -A html -A aspx " + txt_Site.Text;
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        p.Start();
        Console.Write(p.StandardOutput.ReadToEnd());
        p.WaitForExit();
工作: 不工作:

最佳猜测:.NET在Windows 7 PC上找不到wget.exe。但如果没有更好的代码示例(简洁、完整和可靠),则无法确定。更改代码以记录异常,则很容易发现问题。请确保wget.exe在Windows 7计算机上实际位于
wgetLocation
。尝试使用RedirectStandardError将任何错误消息写入文件。还要检查您将重定向标准输出定向到何处。检查事件日志。@PeterDuniho,我还可以提供哪些信息来帮助您?您是在硬编码桌面位置还是在使用枚举来获取它。