anchor.diff:        on E:Exception do
         begin
           // We can't find the folder, for some unknown reason, so give up
  -        kl.LogError('Failed to find '+CTaskFolderName+' task folder: '+E.ClassName+', '+E.Message);
  +        ReportEvent('Failed to find '+CTaskFolderName+' task folder: '+E.ClassName+', '+E.Message);
           Exit;
         end;
       end;
  
positive.code:       // Silently ignore errors; this is cleanup that won't really hurt but
        // just be a little messy if it fails -- the scheduled task will never
        // be triggered as the relevant event will never be added!
        kl.LogError('Failed to delete '+CTaskFolderName+' task folder: '+E.ClassName+', '+E.Message);
      end;
    end;
  end;
  
negative.code: type
    TKeymanStartTaskUninstall = class
      class procedure DeleteAllTasks;
    private
      class procedure ReportEvent(const Message: string); static;
    end;
  
  implementation
  