Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adriano MSB

Chamar um executavel através do asp.net

Recommended Posts

Pessoal eu tenho uma página web que recebe alguns parametros, essa página chama um excutável feito no VB6, esse executavel gera um arquivo em um diretório x e eu pego esse arquivo e disponibiliso para download.

 

quando eu rodo pelo VS2005 ele funciona perfeitamente, porém quando eu publico minha aplicação ele simplesmente não executa, não da nenhum erro somente não executa, se eu for no servidor em gerenciador de tarefas/ processos o programa esta la, mas não acontece nada, fiz um teste mandando ele dar um msgbox na primeira linha d código e depois fechar a aplicação e nada, é como c o programa fosse pra memoria mas não executasse

 

será que alguem tem idéia do que pode estar acontecendo.

 

o código completo esta abaixo.

 

 

try
		{
			String ArquivoNome = Request["Arquivo"].Split(".".ToCharArray())[0];
			String VendaId = Request["VendaId"];
			String EmprId = Request["EmprId"];
			String DocumentadorDir = Server.MapPath("~\\DocumentsClient\\");
			String ModeloDestino = DocumentadorDir + "Contratos\\" + ArquivoNome;
			String ArquivoSalvar = ArquivoNome + "_" + VendaId + ".doc";
			String ArquivoMesclado = "../DocumentsClient/Contratos_word/" + ArquivoSalvar;
			if (System.IO.File.Exists(ModeloDestino))
				System.IO.File.Delete(ModeloDestino);

			if (System.IO.File.Exists(ArquivoMesclado))
				System.IO.File.Delete(ArquivoMesclado);
			
			System.IO.File.Copy(Server.MapPath("~\\Contratos\\" + Request["Arquivo"]), ModeloDestino);

			System.Threading.Thread.Sleep(2000);
			System.Diagnostics.Process.Start(@Server.MapPath("~\\DocumentsClient\\documentador.exe"), "xxx,xxx,xxx,xx,xxx,xxx,xxx,xxx,xxx");

			Int16 Limite = 0;
			while (!System.IO.File.Exists(DocumentadorDir + "Contratos_word\\" + ArquivoSalvar))
			{
				if (Limite == 40)
				{
					obj_alert.FUNC_MSG("O documento atingiu o tempo limite para ser criado, por favor tente novamente.", USC_Confirm.Tipo_Comp.OK, false); up_Alert.Update();
					return;
				}
				System.Threading.Thread.Sleep(500);
				Limite++;
			}

			try
			{
				Response.Redirect(ArquivoMesclado);
			}
			catch (Exception ex) { }
		}
		catch (Exception ex)
		{
			obj_alert.FUNC_MSG(ex.Message + "------" + ex.StackTrace, USC_Confirm.Tipo_Comp.OK, false); up_Alert.Update();
		}

Então pessoal esse é o codigo, pelo VS2005 funciona perfeitamente, é só quando publico no IIS que ocorre o problema.

 

Agradeço a atenção de todos.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Provavelmente deve ser problema de permissão, deve estar sem permissão pra gerar o arquivo no servidor.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ele nem executa o programa, a primeira linha d código é um update na base, e nem isso faz, porem se eu executar esse programinha clicando nele ele executa normalmente.

 

quando ele sobe pra memoria ele sobe com um usuario chamado serviço de rede, e não o usuario do IIS, eu ja dei permissão total na pasta do aplicativo para o usuario do IIS e para esse usuario serviço de rede. e mesmo assim não acontece nada.

 

se for problema de permissão mesmo alguem tem idéia do que eu preciso fazer para funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.