19

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

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

4

2 回答 2

19

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

于 2012-09-03T14:59:37.007 回答
14

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

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

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

笔记:

  • 命令行(和任务名称)周围的双双引号和应用程序路径周围的单引号;
  • 切换以覆盖具有相同名称的/F任何现有任务(对于重新安装/升级很重要)。

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


当您要调试非工作任务创建时,请从以下开始schtaskscmd.exe /K当然,删除runhidden标志):

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

这样会保留带有错误消息的控制台窗口。

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


对于卸载,请参阅卸载中的 删除任务计划程序任务?

于 2016-10-14T07:08:25.690 回答