C#进程:系统找不到指定的文件

时间:2017-04-29 15:10:36

标签: c# process windows-server-2008 windows-server-2003-r2

如果我问一个愚蠢的问题,请原谅我,因为我是C#的新手程序员。

我在Windows Server 2008和2003上看到了Process的不同行为。

以下是我的代码段:

            Process job = new Process();
            job.StartInfo.FileName = global.m_sShell;
            job.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            job.StartInfo.Arguments = EXE;
            job.StartInfo.UseShellExecute = false;
            job.StartInfo.RedirectStandardError = true;
            job.StartInfo.RedirectStandardOutput = true;
            job.StartInfo.RedirectStandardInput = false;
            shellScriptRetCode = job.Start();

" global.m_sShell"是一个包含系统路径的字符串,如" E:\ abc \ ksh.exe"。 [此字符串已从注册表项中获取]

此过程在Windows Server 2008上启动良好,但在Windows Server 2003(32位)上我收到错误

             The system cannot find the file specified

我手动检查了文件,它存在于服务器上。 现在,如果我硬编码文件名,如:

            job.StartInfo.FileName = @"E:\abc\ksh.exe";

它工作正常。

问题是我必须从注册表中获取路径密钥并使用它来启动该过程。

请提供您的专家评论。

谢谢!

0 个答案:

没有答案