无法在c#中启动进程

时间:2012-08-15 23:22:02

标签: c#

我已编写此代码以启动流程:

var proc = new Process();
proc.StartInfo.Arguments = string.Format("{0} {1}", inputFilePath, outputFilePath);
proc.StartInfo.FileName = @Settings.GetImageMagickConvertPath();
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();

这在当地非常有效。但是,当我将此代码放在远程计算机上时,此代码不再有效(错误是"访问被拒绝"尝试启动proc时)。所以,我已经使用RDC(用户/密码)添加了用于连接的凭据,以便启动流程:

proc.StartInfo.UserName = "user";

System.Security.SecureString secret = new System.Security.SecureString();

foreach (char c in "pass")
    secret.AppendChar(c);

proc.StartInfo.Password = secret;

但我仍然收到同样的错误......

你们看到有什么可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

好的,现在已经解决了。

基本上我有两个问题:

  1. 启动过程的路径不正确(而不是folder/program.exe我错误地folder/并且我收到了“访问被拒绝”,这让我的生活变成了一场噩梦(开始看起来对于权利,帐户等)。如果微软已经改进了这个错误,例如“过程的路径是错误的”,那会很好。)

  2. 我必须将其作为本地服务(应用程序池)而不是App Pool Identity运行。 (并且不需要“开始信息”凭证)

  3. 涉及的操作系统:Windows 2008 Server R1)