我有一个非常简单的程序,可以将文件从一个位置复制到另一个位置,并且我已经使用 Windows 调度程序安排它每天运行。
- 但是当调度程序启动它时,它会失败并记录 System.UnauthorizedAccessException: Access to the path '' is denied.
- 如果我只是通过双击启动程序,它会失败并出现与上述相同的错误。
- 但是,当我通过执行 Run as 手动运行程序并使用我在 Windows 调度程序中使用的相同凭据时,它会成功运行。
这三种情况下使用的凭据是我用来登录系统的凭据。
有人可以帮我理解为什么会这样吗?
谢谢
更新
找不到此行为的原因,因此实施了以下解决方法 -
- 写了一个程序来复制文件。
- 写了一个启动程序。该程序通过冒充用户启动文件复制程序。
- 在 windows scheduler 中调度启动器程序。
使用http://www.codeproject.com/KB/cs/Execute_Command_in_CSharp.aspx上的信息来模拟。