1: TaskSchedulerClass scheduler = new TaskSchedulerClass();
   2: scheduler.Connect(null, null, null, null);
   3:  
   4: ITaskDefinition task = scheduler.NewTask(0);
   5: task.RegistrationInfo.Author = "MS PFE";
   6: task.RegistrationInfo.Description = ".....";
   7:  
   8: IDailyTrigger trigger = (IDailyTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_DAILY);
   9: trigger.Id = "TaskName-Trigger";
  10: trigger.DaysInterval = 1;
  11: trigger.StartBoundary = "2012-06-01T23:55:00";
  12: trigger.EndBoundary = "2020-06-01T23:55:00";
  13:  
  14: IExecAction action = (IExecAction)task.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_EXEC);
  15: action.Id = "GetContentDBDetails-Action";
  16: action.Path = @assemblypath;
  17: action.WorkingDirectory = @"C:\Program Files\Microsoft\..."; //generally the folder in which assembly is placed
  18:  
  19: ITaskFolder folder = scheduler.GetFolder("\\");
  20: IRegisteredTask regTask = folder.RegisterTaskDefinition(
  21:     "TaskName",
  22:     task,
  23:     (int)_TASK_CREATION.TASK_CREATE_OR_UPDATE,
  24:     Environment.UserName, //System.Security.Principal.WindowsIdentity.GetCurrent().Name,
  25:     null, 
  26:     _TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN, "");