C# 无法使用任务计划程序包装更新任务

C# 无法使用任务计划程序包装更新任务,c#,scheduled-tasks,taskscheduler,C#,Scheduled Tasks,Taskscheduler,在windows中,我创建了带有触发器“在系统启动时”的任务计划程序。现在,我正在尝试使用更新taskDefinition task.RegisterChanges(); 它给了我这个例外访问被拒绝。(HRESULT异常:0x80070005(E_访问被拒绝)) 调度程序是使用管理员帐户创建的,我正在使用相同的帐户更新调度程序 这就是我编写代码来更新操作路径的方式 TaskService taskService = new TaskService();

在windows中,我创建了带有触发器“在系统启动时”的任务计划程序。现在,我正在尝试使用更新taskDefinition

task.RegisterChanges();
它给了我这个例外访问被拒绝。(HRESULT异常:0x80070005(E_访问被拒绝))

调度程序是使用管理员帐户创建的,我正在使用相同的帐户更新调度程序

这就是我编写代码来更新操作路径的方式

            TaskService taskService = new TaskService();
            TaskFolder tasksFolder = taskService.GetFolder(taskFolderName);

            if (tasksFolder != null)
            {

                foreach (var task in tasksFolder.Tasks)
                {
                    try
                    {

                        TaskDefinition taskDefinition = task.Definition;

                        ExecAction execAction = (ExecAction)taskDefinition.Actions.FirstOrDefault(); 

                        if (task.Name.StartsWith(KioskOperation))
                        {
                            execAction.Path = wwwRootPath + KioskOperation + setupFile;
                            currentSchedularName = KioskOperation;
                        }
                        else if (task.Name.StartsWith(AngelFish))
                        {
                            execAction.Path = wwwRootPath + PdAngelFish + setupFile;
                            currentSchedularName = AngelFish;
                        }
                        else if (task.Name.StartsWith(SpotFish))
                        {
                            execAction.Path = wwwRootPath + PdSpotFish + setupFile;
                            currentSchedularName = SpotFish;
                        }

                        task.RegisterChanges();

                        //taskService.GetFolder(taskFolderName).RegisterTaskDefinition(currentSchedularName, taskDefinition);
                    }
                    catch (Exception ex)
                    {
                        Console.Writeline("TaskSchedular failed while modifiying Task: " + task.Name + " with exception: " + ex.ToString());
                    }
                }
            }
            else {
                Console.Writeline("TaskSchedular cannot find Tasks in TaskFolder: " + taskFolderName);
            }