сбой cscript при запуске процесса из приложения ASP.NET - PullRequest
0 голосов
/ 05 октября 2011

У меня проблема с моим приложением ASP. Я получаю сообщение об ошибке от cscript, когда я запускаю процесс на сервере. Когда я выполняю локальную отладку, страница просто работает нормально, и процесс выполняется правильно, но когда я развертываю приложение в IIS и запускаю его из другого обозревателя машины, происходит сбой при запуске процесса.

Я полагаю, что это был вопрос пользователя, поэтому я добавил эту строку в web.config, чтобы убедиться в этом.

<identity impersonate="true" userName="domain\user" password="password" />

Затем я добавил пользователя, с которого хотел начать процесс, но страница продолжает падать. Ошибка, которую я получаю на стороне сервера при каждом запуске процесса (при нажатии кнопки):

cscript.exe - Ошибка приложения

Приложение не удалось правильно инициализировать (0xc0000142). Нажмите OK, чтобы закрыть приложение

Код, запускающий процесс:

    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();
    }

Кто-нибудь имеет представление о том, что может происходить? Я застрял здесь на некоторое время сегодня.

Спасибо.

1 Ответ

0 голосов
/ 05 октября 2011

Возможно, вам потребуется загрузить профиль пользователя

startInfo.LoadUserProfile = true

Редактировать

Попробуйте создать новый пул приложений с новой учетной записью администратора. Если это работает, удалите пользователя из группы администраторов и создайте новую группу с необходимыми разрешениями для приложения.

(см. попытка запустить процесс из приложения asp.net )

...