How does Windows Task Scheduler in Win7 recognize a failed task?

scheduled-tasks, windows-7

Solution

Create a new task and set the custom event query like this:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[EventID=201]] and *[EventData[Data[@Name='ResultCode']!='0']] and *[EventData[Data[@Name='TaskName']='\YOUR TASK NAME HERE']]</Select>
  </Query>
</QueryList>

Set the trigger advanced settings to Delay the task for a period of time like 15 minutes.

Configure the action of the new task to start a program:

Program/script:

schtasks

Add arguments:

/Run /TN "\YOUR TASK NAME HERE"

This will schedule the original task to run again 15 minutes after a non-zero result code is logged in the event.

Problem

I am working with Windows 7 and I have an application that returns zero (0x0) when successful and one (0x1) on error situations. I have scheduled this app using Windows Task Scheduler. I have checked the option boxes "If the task fails, restart every" and "Attempt to restart up to:". I thought that a non-zero return code from the app would be enough to trigger the task to be restarted after the given interval. But nothing happens. Any ideas what could be the issue? I tried to google it but did not found anything relevant.

Original source