Visual Basic.NET - Error al ejecutar *.vbs desde .NET 2010

   
Vista:

Error al ejecutar *.vbs desde .NET 2010

Publicado por Pablo (2 intervenciones) el 01/07/2015 06:21:23
Buenos días;

Tengo un problema a la hora de ejecutar un *.vbs desde .NET 2010. Lo que pretendo es hacer un export de la base de datos desde la aplicación y para ello ejecuta el archivo *.vbs.

Si ejecuto el siguiente trozo de código funciona correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
try
{
	// Start the process with the info we specified.
	// Call WaitForExit and then the using statement will close.
	using (Process exeProcess = Process.Start("C:/TEMP/PROYECTO/Copia de APA Salinas Oracle/APA Salinas/ExpImp/Exportacion.vbs"))
	{
		exeProcess.WaitForExit();
	}
}
catch (Exception ex)
{
	textCmd.Text = (ex.Message);   // Log error.
}

Pero si quiero que la salida del interprete de comandos me la muestre en la aplicación en un campo text, añadiendo el ProcessStartInfo me da errores indicando que no puede encontrar el archivo o bien el error "El ejecutable especificado no es una aplicación válida para esta plataforma de sistema operativo." El código con el que en este momento obtengo el segundo error es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
try
{
	textCmd.Text = null;
 
	ProcessStartInfo startInfo = new ProcessStartInfo();
//      Process exeProcess = new Process(); 
	startInfo.UseShellExecute = false;
	startInfo.ErrorDialog = false;
	startInfo.CreateNoWindow = true;
	startInfo.RedirectStandardOutput = true;
	//   exeProcess.StartInfo.WorkingDirectory = @"C:/TEMP/PROYECTO/Copia de APA Salinas Oracle/APA Salinas/ExpImp/";
	startInfo.FileName = "C:/TEMP/PROYECTO/Copia de APA Salinas Oracle/APA Salinas/ExpImp/Exportacion.vbs";
//    exeProcess.StartInfo.Arguments = "";
	// Start the process with the info we specified.
	Process exeProcess = Process.Start(startInfo);
	StreamReader sr = exeProcess.StandardOutput;
	string cadena = sr.ReadToEnd();
	sr.Close();
	textCmd.Text = cadena;
}
catch (Exception ex)
{
	textCmd.Text = (ex.Message);
}

He probado con \", poniendo por separado el filename y el campo WorkingDirectory, pero no consigo que funcione.

Muchas gracias por vuestra ayuda.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error al ejecutar *.vbs desde .NET 2010

Publicado por David (45 intervenciones) el 01/07/2015 23:29:24
¿Puede que sea porque la ruta tiene espacios?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al ejecutar *.vbs desde .NET 2010

Publicado por Pablo (2 intervenciones) el 02/07/2015 04:16:57
Buenas;

La verdad que no he probado sin espacios. Como en la primera parte del código que pongo no tiene espacios y funciona correctamente, di por hecho que no era el problema.

Lo comprobaré y os aviso si encuentro la respuesta.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar