【问题标题】:How to add a scheduled task with Inno Setup如何使用 Inno Setup 添加计划任务
【发布时间】:2012-08-28 07:49:38
【问题描述】:

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

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

【问题讨论】:

    标签: inno-setup


    【解决方案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?

    【讨论】:

      猜你喜欢
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2011-10-04
      • 2023-04-04
      相关资源
      最近更新 更多