任务计划程序托管包装器错误访问被拒绝

时间:2016-11-30 13:12:15

标签: c# scheduled-tasks taskscheduler

我正在创建一个应用程序,在第一次登录时为每个用户创建一个计划任务。我正在使用NuGet包Task Scheduler Managed Wrapper 2.5.21。当exe在登录时运行时,会发生Access Denied错误。以管理员身份手动运行exe时,将创建计划任务。我怎样才能克服这个问题?

string installPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

using (TaskService ts = new TaskService())
{
    TaskDefinition td = ts.NewTask();

    td.Actions.Add(new ExecAction("MyExe.exe", null, installPath));
    td.Triggers.Add(new SessionStateChangeTrigger
    {
        StateChange = TaskSessionStateChangeType.SessionUnlock,
        UserId = Environment.UserName
    });

    td.Principal.RunLevel = TaskRunLevel.Highest;
    td.Principal.LogonType = TaskLogonType.InteractiveToken;
    ts.RootFolder.RegisterTaskDefinition("task_" + Environment.UserName, td);
}

0 个答案:

没有答案