我正在创建一个应用程序,在第一次登录时为每个用户创建一个计划任务。我正在使用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);
}