2012-03-23 29 views
6

Deseo iniciar mi programa Java correctamente instalado después de que la instalación haya finalizado. Yo sé cómo hacerlo, en principio:¿Cómo ejecutar un archivo por lotes manteniendo la ventana de la consola oculta?

[Run] 
FileName: "{app}\LaunchApp.bat"; Description: {cm:LaunchApp}; Flags: nowait postinstall skipifsilent 

LaunchApp.bat:

start javaw -jar MyJar.jar Main 

De esta manera, la ventana de consola aparece por un corto tiempo, que no es muy agradable. Usando enlaces, esto puede ser evitado. Sin embargo, parece que no puedo ejecutar un enlace creado en el [Icon] en la sección [Run].

¿Alguna sugerencia de cómo solucionar esto?

+1

Como es el intérprete de archivo por lotes/comando que muestra la ventana, debe encontrar una forma de detener esa aparición (ya que hará lo mismo cuando se ejecute manualmente). Para ocultarlo en Inno, use 'runhidden' como dice TLama. – Deanna

+1

¡Eso es por tu respuesta! Estoy haciendo esto creando enlaces simbólicos! De esta forma, el símbolo del sistema no aparece. Como mencioné en mi pregunta, no pude ejecutar un enlace simbólico en la sección [Ejecutar] – mort

+0

erm, los enlaces simbólicos son muy diferentes a los accesos directos/archivos lnk. – Deanna

Respuesta

15

Intente agregar la bandera runhidden. De la referencia:

Si se especifica este indicador, iniciará el programa en una ventana oculta . Nunca utilice este indicador cuando ejecute un programa que puede solicitar para la entrada del usuario.

lo que este debe resolver su pregunta:

[Run] 
FileName: "{app}\LaunchApp.bat"; Description: {cm:LaunchApp}; Flags: nowait postinstall runhidden skipifsilent 
1

podría evitar por completo el archivo por lotes y ejecutar java.exe con los parámetros adecuados. Esto no ayudará a que la ventana aparezca cuando el usuario ejecuta el archivo por lotes normalmente.

Cuestiones relacionadas