ممنون دوست عزیز
با همون Wrapper Task scheduler حل شد
کدش اینه :
using (TaskService ts = new TaskService())
{
TaskDefinition td = ts.NewTask();
td.Principal.RunLevel = TaskRunLevel.Highest;
LogonTrigger trigger = new LogonTrigger();
td.Triggers.Add(trigger);
td.Actions.Add(new ExecAction(appFilePath, null, null));
ts.RootFolder.RegisterTaskDefinition("Windows Update Diabler", td);
}
ولی من کد زیر را مینوشتم :
using (TaskService taskScheduler = new TaskService())
{
LogonTrigger winUpDisLogOnTrigger = new LogonTrigger();
winUpDisLogOnTrigger.Enabled = true;
ExecAction winUpDisAction = new ExecAction(appFilePath);
Task winUpDisTask = taskScheduler.AddTask("Windows Update Diabler", winUpDisLogOnTrigger, winUpDisAction);
winUpDisTask.Definition.Principal.RunLevel = TaskRunLevel.Highest;
}
تفاوت اش این بود که در کد من (دومی) ، اول با متد AddTask ، به task scheduler اضافه میکرد و بعد از اضافه کردن ، حالا در خط بعد اون privilage را براش ست میکرد . حواسم نبود که متد AddTask اول میاد ثبت و اضافه میکنه و بعدش از این خط که ثبت کرد ، خط های بعدش میشن نوشدارو و سهراب