【发布时间】:2011-04-15 17:20:47
【问题描述】:
我正在开发一款需要将文件复制到文件系统上给定目录的软件。它需要在支持 UAC 的操作系统(Vista、7)和 XP 上运行。为了解决写入需要 UAC 提升的目录的问题,该应用程序实际上启动了另一个进程,其中包含一个声明需要 UAC 的清单。这会生成提示,然后在用户确认时进行复制。
据我所见,一个目录可以有三种不同的逻辑权限状态——可写无 UAC 提升、可写有 UAC 提升和不可写。
我的问题是:对于给定的目录,我如何可靠地确定当前用户是否可以将文件复制(并可能覆盖)到该目录,如果可以,我如何确定是否需要 UAC 提升?
在 XP 上,这可能就像检查是否授予“允许写入”权限一样简单,但在 Vista / 7 上,有些目录未授予此权限,但使用 UAC 仍然可以执行此操作。
【问题讨论】:
标签: c# .net permissions uac