我的ASP应用程序出了问题。我在服务器上运行进程时从cscript收到错误。 当我在本地调试时,页面工作正常并且过程正确执行,但是当我将应用程序部署到IIS并从另一台机器资源管理器运行它时,它会在进程启动时崩溃。
我想这是用户的问题,所以我将这一行添加到web.config中,以确保这一点。
<identity impersonate="true" userName="domain\user" password="password" />
然后,我添加了我希望进程开始的用户,但页面一直在崩溃。每次启动进程时(按下按钮时)我在服务器端获得的错误是:
cscript.exe - 应用程序错误
应用程序无法正确初始化(0xc0000142)。单击“确定”以终止应用程序
启动流程的代码是:
public static void actualizarPersona(csPersona persona)
{
string nombreArchivo = "card.js";
File.WriteAllText(nombreArchivo, persona.setFileActualizarPersona(persona), Encoding.GetEncoding(1252));
Process proc = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.FileName = "cscript.exe";
startInfo.Arguments = nombreArchivo;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UserName = "Administrator";
SecureString password = new SecureString();
string contraseña = "myPassword";
foreach (char c in contraseña)
{
password.AppendChar(c);
}
startInfo.Password = password;
proc.StartInfo = startInfo;
proc.Start();
proc.WaitForExit();
proc.Close();
proc.Dispose();
}
有没有人知道可能发生的事情?我今天被困在这里一段时间。
谢谢你。
答案 0 :(得分:0)
您可能需要加载用户的个人资料
startInfo.LoadUserProfile = true
修改强>
尝试使用新的管理员帐户创建新的应用池。如果可行,则从管理员组中删除用户,并创建一个具有该应用所需权限的新组。