我已编写此代码以启动流程:
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;
但我仍然收到同样的错误......
你们看到有什么可以解决这个问题吗?
答案 0 :(得分:0)
好的,现在已经解决了。
基本上我有两个问题:
启动过程的路径不正确(而不是folder/program.exe
我错误地folder/
并且我收到了“访问被拒绝”,这让我的生活变成了一场噩梦(开始看起来对于权利,帐户等)。如果微软已经改进了这个错误,例如“过程的路径是错误的”,那会很好。)
我必须将其作为本地服务(应用程序池)而不是App Pool Identity运行。 (并且不需要“开始信息”凭证)
涉及的操作系统:Windows 2008 Server R1)