Como permitir que o usuário do site do IIS execute o programa .cmd

1

Eu tenho uma situação onde eu preciso executar um programa .cmd no meu site IIS. É um programa de terceiros para validar e transferir arquivos, por isso não posso escolher de outra forma.

Eu faço isso iniciando o programa em um novo processo programaticamente.

Seguir esta abordagem com um arquivo .exe funciona perfeitamente. Eu recebo a saída padrão do programa. Mas isso não é o caso quando tento fazer o mesmo com o arquivo .cmd. Nenhuma saída padrão é recebida.

O código funciona perfeitamente no meu computador local, então acho que o problema está na configuração do IIS. Provavelmente restrições de usuário ou arquivo.

Alguém poderia me guiar na direção certa?

EDIT Aqui está o código C # que eu uso.

    ProcessStartInfo info = new ProcessStartInfo(); 
    info.WindowStyle = ProcessWindowStyle.Hidden; 
    info.CreateNoWindow = true;
    info.FileName = AppDomain.CurrentDomain.BaseDirectory + @"export\foo.cmd"; 
    //replacing foo.cmd with foo.exe works
    info.UseShellExecute = false; 
    info.RedirectStandardOutput = true; 
    using (Process process = Process.Start(info)) 
    { 
        using (StreamReader reader = process.StandardOutput) 
        {
            string result = reader.ReadToEnd();
            Response.Write(result);
        }
    }
    
por Marle1 20.07.2012 / 14:08

1 resposta

1

Eu mesmo encontrei a solução. Eu postei minhas descobertas em StackOverflow .

Na verdade, acabou sendo um problema do usuário do AppPool do IIS, então postar a pergunta aqui não era totalmente sem esperanças.

    
por 23.07.2012 / 21:22