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.
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" –
Me complace ayudar ;-) – TLama
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. –