ejecutar un .bat en background

Iniciado por yoelrodguez, 27 Agosto 2014, 16:52 PM

0 Miembros y 1 Visitante están viendo este tema.

yoelrodguez

Hola a todos tengo el siguiente problema estoy creando un instalador con Setup Factory y me sucede los siguientes:
1. Tengo creado un fichero  .vbs en el cual llamo al fichero .bat que se encarga de ejecutar el programa para iniciar los servicios y cargar el browser por defecto. Si lo ejecuto de forma manual sin problema puedo realizar todo el proceso. Pero si le pido que se ejecute al finalizar la instalación no se me ejecuta.
Código:
Citar

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "iniciar.bat" & Chr(34), 0
Set WshShell = Nothing


2. Si llamo al fichero .bat al finalizar la instalación se ejecutan todas las instrucciones sin problema pero al cerrar la ventana me le da un Kill al proceso.
Código:
Citar

@echo off
start /b xampp_start.exe
start /b http://localhost/sceodas
echo Sistema corriendo
goto finish

Eleкtro

#1
Buenas.

Lo primero de todo es que las preguntas sobre Batch/VBS van en la sección de Scripting, si no formulas la pregunta en el subforo adecuado mira lo que pasa, casi 30 días sin obtener ninguna respuesta has estado (no se si ya lo habrás solucionado).

Cita de: yoelrodguez en 27 Agosto 2014, 16:52 PMSi lo ejecuto de forma manual sin problema puedo realizar todo el proceso. Pero si le pido que se ejecute al finalizar la instalación no se me ejecuta.

Estás usando el método Run para iniciar un proceso pero no estás esperando a que el proceso finalice (y devuelva la llamada), por lo tanto finaliza el proceso del setup (ej: setup.exe) y automáticamente se cierran los procesos hijos (wscript.exe, cmd.exe, etc.)

Déjalo así:
Código (vbnet) [Seleccionar]
WshShell.Run chr(34) & "iniciar.bat" & Chr(34), 0, True

Documentación:
http://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.84%29.aspx

Saludos.








yoelrodguez