MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: RunProcess.exe[Next]: ScriptoMatic
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Tips and Tricks->Tools->SCHTASKS.EXE

SCHTASKS.EXE

This is a scheduling tool for Windows XP (installed with windows XP in the "SystemFolder" directory). It can be patched to work under Windows 2000 (see below).

This tool is used to set up job/task schedules in the Windows XP (and possibly Windows 2000) scheduling GUI (from the command line).

The "Schedule" command requires this tool (or "JT.EXE") to be available at install time (you can install it along with your package if required).

For the installed help for the command, use Help and Support to search for "schtasks".

The basic syntax as generated by the program is shown below and for once Microsoft actually seem to have written some useful and informative documentation (I'm still shocked), its at "http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/schtasks.mspxLink failed validation at 16 Aug 2008.
#301 - PERMANENT move to http://technet.microsoft.com/library/bb491071.aspx

This appears to be a recent problem as I am not yet monitoring the URL.".

Patching SCHTASKS.EXE for WIN2000

A number of sites have information on how the tool can be patched to support WIN2000 (some sites have the patched binary available for download).

I have merged the information from a number of sites (including JSI FAQLink failed validation at 16 Aug 2008.
#301 - PERMANENT move to http://windowsitpro.com/

This appears to be a recent problem as I am not yet monitoring the URL. tip 5335). The steps are:

  1. Open schtasks.exe in a hexadecimal editor. There are plenty of freeware ones available.

  2. We need to patch a single byte from hex 0x75 to 0xEB.

    The location of this byte is:

  3. If you are keen you could also patch the message "The Target system must be running Windows XP or above." to a message or equal or shorter length to include WIN2000 (rather than XP). The message is in UNICODE (click for picture).

I leave investigation of the legality etc to you, I personally wouldn't do this for inclusion in products your company sells, just internal packages (and you'd probably want to reglarly check for hotfixes to it)..

SCHTASKS.EXE /?


SCHTASKS /parameter [arguments]

Description:
    Enables an administrator to create, delete, query, change, run and
    end scheduled tasks on a local or remote system. Replaces AT.exe.

Parameter List:
    /Create         Creates a new scheduled task.

    /Delete         Deletes the scheduled task(s).

    /Query          Displays all scheduled tasks.

    /Change         Changes the properties of scheduled task.

    /Run            Runs the scheduled task immediately.

    /End            Stops the currently running scheduled task.

    /?              Displays this help/usage.

Examples:
    SCHTASKS
    SCHTASKS /?
    SCHTASKS /Run /?
    SCHTASKS /End /?
    SCHTASKS /Create /?
    SCHTASKS /Delete /?
    SCHTASKS /Query  /?
    SCHTASKS /Change /?

SCHTASKS.EXE /CREATE /?


SCHTASKS /Create [/S system [/U username [/P password]]]
    [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
    [/I idletime] /TN taskname /TR taskrun [/ST starttime] [/M months]
    [/SD startdate] [/ED enddate]

Description:
    Enables an administrator to create scheduled tasks on a local or
    remote systems.

Parameter List:
    /S           system            Specifies the remote system to
                                   connect to. If omitted the system
                                   parameter defaults to the local
                                   system.

    /U           username          Specifies the user context under
                                   which the command should execute.

    /P           password          Specifies the password for the given
                                   user context.

    /RU          username          Specifies the user account (user
                                   context) under which the task runs.
                                   For the system account, valid values
                                   are "", "NT AUTHORITY\SYSTEM" or
                                   "SYSTEM".

    /RP          password          Specifies the password for the user.
                                   To prompt for the password, the value
                                   must be either "*" or none.
                                   Password will not effect for the
                                   system account.

    /SC          schedule          Specifies the schedule frequency.
                                   Valid schedule types: MINUTE, HOURLY,
                                   DAILY, WEEKLY, MONTHLY, ONCE,
                                   ONSTART, ONLOGON, ONIDLE.

    /MO          modifier          Refines the schedule type to allow
                                   finer control over schedule
                                   recurrence. Valid values are listed
                                   in the "Modifiers" section below.

    /D           days              Specifies the day of the week to run
                                   the task. Valid values: MON, TUE,
                                   WED, THU, FRI, SAT, SUN and for
                                   MONTHLY schedules 1 - 31 (days of the
                                   month).

    /M           months            Specifies month(s) of the year.
                                   Defaults to the first day of the
                                   month. Valid values: JAN, FEB, MAR,
                                   APR, MAY, JUN, JUL, AUG, SEP, OCT,
                                   NOV, DEC.

    /I           idletime          Specifies the amount of idle time to
                                   wait before running a scheduled
                                   ONIDLE task.
                                   Valid range: 1 - 999 minutes.

    /TN          taskname          Specifies a name which uniquely
                                   identifies this scheduled task.

    /TR          taskrun           Specifies the path and file name of
                                   the program to be run by this
                                   scheduled task.
                                   Example: C:\windows\system32\calc.exe

    /ST          starttime         Specifies the time to run the task.
                                   The time format is HH:MM:SS (24 hour
                                   time) for example, 14:30:00 for
                                   2:30 PM.

    /SD          startdate         Specifies the first date on which the
                                   task runs. The format is
                                   "dd/mm/yyyy".



    /ED          enddate           Specifies the last date when the task
                                   should run. The format is
                                   "dd/mm/yyyy".



    /?                             Displays this help/usage.

Modifiers: Valid values for the /MO switch per schedule type:
    MINUTE:  1 - 1439 minutes.
    HOURLY:  1 - 23 hours.
    DAILY:   1 - 365 days.
    WEEKLY:  weeks 1 - 52.
    ONCE:    No modifiers.
    ONSTART: No modifiers.
    ONLOGON: No modifiers.
    ONIDLE:  No modifiers.
    MONTHLY: 1 - 12, or
             FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.

Examples:
    SCHTASKS /Create /S system /U user /P password /RU runasuser
             /RP runaspassword /SC HOURLY /TN rtest1 /TR notepad
    SCHTASKS /Create /S system /U domain\user /P password /SC MINUTE
             /MO 5 /TN rtest2 /TR calc.exe /ST 12:00:00
             /SD 15/09/2001 /ED 15/09/2001 /RU runasuser /RP

    SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN game
             /TR c:\windows\system32\freecell
    SCHTASKS /Create /S system /U user /P password /RU runasuser
             /RP runaspassword /SC WEEKLY /TN test1 /TR notepad.exe
    SCHTASKS /Create /S system /U domain\user /P password /SC MINUTE
             /MO 5 /TN test2 /TR c:\windows\system32\notepad.exe
             /ST 18:30:00 /RU runasuser /RP *
    SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN cell
             /TR c:\windows\system32\freecell /RU runasuser


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006 & 2007 for the Windows SDK (Windows Installer) area.This external link was OK when tested at 7 Aug 2008Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: RunProcess.exe[Next]: ScriptoMatic


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Tuesday August 19 2008 at 7:04pm
Visit MAKEMSI's Home PageThis external link was OK when tested at 13 Aug 2008

HTML page dated Mon, 29 Jan 2007 00:11:11 GMT
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006 & 2007 for the Windows SDK (Windows Installer) area.This external link was OK when tested at 7 Aug 2008