2012-09-03 36 views
10

我有一个小型控制台应用程序,它安装在我的(较大的)应用程序中。该设置是使用Inno Setup创建的,该设置非常好。如何使用Inno Setup添加计划任务

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

在此先感谢

回答

11

task scheduler command line条目只需添加到您的脚本的[Run]部分。该部分的条目在程序成功安装后执行。

+5

非常感谢你TLama!我不知道这会很简单。这是我添加到Inno脚本的行:[Run] Filename:schtasks.exe;参数:“/ create/tn”ESS pushdata“/ tr {app} \ pushdata.exe/sc daily” –

+0

很高兴提供帮助;-) – TLama

+0

当然,任务调度程序命令行对此完全无法使用,因为它的命令接受是依赖于语言环境的,所以如果用户具有非英语Windows,命令行可能会中断。 –

1

为了让比@ TLama的回答更具体的例子:

例如,安排的任务是用一些参数运行你的应用程序每隔一小时,使用:

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

注:

  • double double-quotes围绕命令行(和任务名称)和单引号围绕应用程序的路径;
  • /F哪个用相同的名称覆盖任何正在退出的任务(对于重新安装/升级很重要)。

请参阅Schtasks.exe command[Run] section的完整文档。


当你要调试非工作任务创建,启动schtaskscmd.exe /K(当然,去掉runhidden标志):

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

这样控制台窗口的错误消息被保存。

参见Debugging non-working batch file executed from Inno Setup installer