【发布时间】:2011-03-10 14:29:22
【问题描述】:
我需要检查当前用户在Program Files文件夹内是否有写权限。
主要问题发生在 Vista/7 中 - 如果我只是尝试在此位置创建一个临时文件,我会得到一个异常,即使用户可以使用 Windows 资源管理器执行这样的操作(在允许 UAC 提升之后)。听起来很合理,因为进程本身没有以管理员权限运行。
然后我尝试使用this 解决方案,但我总是返回“true”,即使我尝试使用标准(非管理员)用户运行它。
我最终希望能够回答的是,如果用户尝试在 Program Files 中创建目录,他是否需要提供管理员凭据,或者只需单击 UAC 中的“继续”够了吗?
我正在寻找一种方法来回答这个问题,而无需自己提出(任何类型的)UAC 弹出窗口。有没有相对简单的方法来做到这一点?
更新
感谢您让我使用 UserData 文件夹,但我只需要知道用户是否在该文件夹中具有写入权限,以便我可以决定是否应该尝试执行自动更新(运行 msi) ,或不。
【问题讨论】:
标签: c# windows permissions file-permissions