如何使用Inno Setup添加计划任务

rea*_*sil 16 inno-setup

我有一个小的控制台应用程序,它安装在我(更大)的应用程序中.使用Inno Setup创建设置,效果非常好.

我希望Inno Setup将一个或多个任务添加到Windows调度程序(启动控制台应用程序).有没有办法做到这一点?

TLa*_*ama 18

只需将task scheduler command line条目添加到[Run]脚本部分即可.成功安装程序后,将执行该部分中的条目.

  • 非常感谢TLama!我不知道会那么简单.这是我添加到Inno脚本的行:[运行]文件名:schtasks.exe; 参数:"/ create/tn"ESS pushdata"/ tr {app}\pushdata.exe/sc daily" (5认同)

Mar*_*ryl 10

举一个比@ TLama的答案更具体的例子:

例如,要安排任务每小时运行一个带有某个参数的应用程序,请使用:

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

注意:

  • 双双引号周围的命令行(和任务名称)和单引号的应用程序路径周围;
  • /F开关可以覆盖具有相同名称的任何退出的任务(重新安装/升级很重要).

请参阅schtasks.exe命令[Run]部分的完整文档.


如果要调试非工作任务创建,请schtasks使用cmd.exe /K(当然,删除runhidden标志)启动:

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

这样,将保留带有错误消息的控制台窗口.

请参阅调试从Inno Setup安装程序执行的非工作批处理文件或命令.