如何使用 Inno Setup 添加计划任务
Posted
技术标签:
【中文标题】如何使用 Inno Setup 添加计划任务【英文标题】:How to add a scheduled task with Inno Setup 【发布时间】:2012-08-28 07:49:38 【问题描述】:我有一个小型控制台应用程序,它安装在我的(更大的)应用程序中。设置是用 Inno Setup 创建的,效果很好。
我希望 Inno Setup 向 Windows 调度程序(启动控制台应用程序)添加一个或多个任务。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:只需将task scheduler command line
条目添加到脚本的[Run]
部分。该部分中的条目在程序安装成功后执行。
【讨论】:
非常感谢 TLama!我不知道会这么简单。这是我添加到 Inno 脚本的行:[Run] Filename: schtasks.exe;参数:" /create /tn "ESS pushdata" /tr app\pushdata.exe /sc daily "【参考方案2】:举一个比@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 的完整文档。
当您要调试非工作任务创建时,请使用 cmd.exe /K
启动 schtasks
(当然,删除 runhidden
标志):
[Run]
Filename: "cmd"; \
Parameters: "/K schtasks /F /Create /SC HOURLY /TN ""My Task"" /TR ""'app\MyProg.exe' par1""";
这样会保留带有错误消息的控制台窗口。
见Debugging non-working batch file or command executed from Inno Setup installer。
有关卸载,请参阅 Delete Task Scheduler task at Uninstall?
【讨论】:
以上是关于如何使用 Inno Setup 添加计划任务的主要内容,如果未能解决你的问题,请参考以下文章