我有一个小型控制台应用程序,它安装在我的(较大的)应用程序中。该设置是使用Inno Setup创建的,该设置非常好。如何使用Inno Setup添加计划任务
我希望Inno Setup将一个或多个任务添加到Windows调度程序(启动控制台应用程序)。有没有办法做到这一点?
在此先感谢
我有一个小型控制台应用程序,它安装在我的(较大的)应用程序中。该设置是使用Inno Setup创建的,该设置非常好。如何使用Inno Setup添加计划任务
我希望Inno Setup将一个或多个任务添加到Windows调度程序(启动控制台应用程序)。有没有办法做到这一点?
在此先感谢
的task scheduler command line
条目只需添加到您的脚本的[Run]
部分。该部分的条目在程序成功安装后执行。
为了让比@ TLama的回答更具体的例子:
例如,安排的任务是用一些参数运行你的应用程序每隔一小时,使用:
[Run]
Filename: "schtasks"; \
Parameters: "/Create /F /SC HOURLY /TN ""My Task"" /TR ""'{app}\MyProg.exe' par1"""; \
Flags: runhidden
注:
/F
哪个用相同的名称覆盖任何正在退出的任务(对于重新安装/升级很重要)。请参阅Schtasks.exe
command和[Run]
section的完整文档。
当你要调试非工作任务创建,启动schtasks
与cmd.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。
非常感谢你TLama!我不知道这会很简单。这是我添加到Inno脚本的行:[Run] Filename:schtasks.exe;参数:“/ create/tn”ESS pushdata“/ tr {app} \ pushdata.exe/sc daily” –
很高兴提供帮助;-) – TLama
当然,任务调度程序命令行对此完全无法使用,因为它的命令接受是依赖于语言环境的,所以如果用户具有非英语Windows,命令行可能会中断。 –