Solución:
Simplemente agregue el task scheduler command line
entradas al [Run]
sección de su guión. Las entradas en esa sección se ejecutan después de que el programa se haya instalado correctamente.
Para dar un ejemplo más concreto que la respuesta de @ TLama:
Por ejemplo, para programar una tarea para ejecutar su aplicación con algún parámetro cada hora, use:
[Run]
Filename: "schtasks";
Parameters: "/Create /F /SC HOURLY /TN ""My Task"" /TR ""'{app}MyProg.exe' par1""";
Flags: runhidden
Nota:
- las comillas dobles alrededor de la línea de comandos (y el nombre de la tarea) y las comillas simples alrededor de la ruta a la aplicación;
- los
/F
cambie para sobrescribir cualquier tarea existente con el mismo nombre (importante para reinstalaciones / actualizaciones).
Consulte una documentación completa para schtasks.exe
comando y el [Run]
sección.
Cuando desee depurar la creación de una tarea que no funciona, inicie el schtasks
con el cmd.exe /K
(y, por supuesto, elimine el runhidden
bandera):
[Run]
Filename: "{cmd}";
Parameters: "/K schtasks /F /Create /SC HOURLY /TN ""My Task"" /TR ""'{app}MyProg.exe' par1""";
De esta forma se conserva la ventana de la consola con un mensaje de error.
Consulte Depurar un archivo por lotes que no funciona o un comando ejecutado desde el instalador de Inno Setup.
Para desinstalar, consulte ¿Eliminar tarea del Programador de tareas en Desinstalar?