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

问题描述

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

更新taskDeFinition
task.RegisterChanges();

这给了我这个例外,拒绝访问。 (来自HRESULT的异常:0x80070005(E_ACCESSDENIED))

计划程序是使用Admin帐户创建的,而我使用的是同一帐户来更新计划程序。

这就是我编写更新操作路径的方式。

            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);
            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)