2012-09-03 16 views
10

Tengo una pequeña aplicación de consola que se instala junto con mi aplicación (más grande). La configuración se crea con Inno Setup, que funciona muy bien.Cómo agregar una tarea programada con Inno Setup

Quiero que Inno Setup agregue una o más tareas al programador de Windows (que inicia la aplicación de la consola). ¿Hay una manera de hacer eso?

Gracias de antemano

Respuesta

11

sólo tiene que añadir task scheduler command line entradas a la sección [Run] de su script. Las entradas en esa sección se ejecutan después de que el programa se haya instalado correctamente.

+5

Muchas gracias TLama! No sabía que sería así de simple. Esta es la línea que agregué a la secuencia de comandos de Inno: [Ejecutar] Nombre de archivo: schtasks.exe; Parámetros: "/ create/tn" Datos push de ESS "/ tr {app} \ pushdata.exe/sc daily" –

+0

Me complace ayudar ;-) – TLama

+0

Por supuesto, la línea de comandos del programador de tareas no se puede usar para esto, porque los comandos que acepta dependen de la configuración regional, por lo que si un usuario tiene un Windows que no es inglés, es probable que la línea de comando esté rota. –

1

Para dar un ejemplo más concreto que la respuesta de la @ Tlama:

Por ejemplo, para programar una tarea para ejecutar su aplicación con algún parámetro cada hora, utilice:

[Run] 
Filename: "schtasks"; \ 
    Parameters: "/Create /F /SC HOURLY /TN ""My Task"" /TR ""'{app}\MyProg.exe' par1"""; \ 
    Flags: runhidden 

Nota:

  • double double-quotes alrededor de la línea de comandos (y el nombre de la tarea) y comillas simples alrededor de la ruta a la aplicación;
  • /F que sobrescribe cualquier tarea que sale con el mismo nombre (importante para reinstalaciones/actualizaciones).

Consulte la documentación completa para Schtasks.exe command y [Run] section.


Cuando desea depurar una creación de la tarea que no trabaja, iniciar el schtasks con el cmd.exe /K (y, por supuesto, quitar la bandera runhidden):

[Run] 
Filename: "{cmd}"; \ 
    Parameters: "/K schtasks /F /Create /SC HOURLY /TN ""My Task"" /TR ""'{app}\MyProg.exe' par1"""; 

De esta manera la ventana de la consola con una mensaje de error es preservado

Ver Debugging non-working batch file executed from Inno Setup installer.

Cuestiones relacionadas