请求.NET应用程序中的文件操作的管理员权限

时间:2014-12-17 12:29:33

标签: c# .net access-rights

我有一个应用程序,通常无需管理员权限即可运行。

该程序包括自动更新工具(从Web下载文件并替换本地文件)。 根据用户计算机中应用程序的位置,某些用户没有权限操作这些更新的文件,因此自动更新失败。

我想实现功能,它会提示用户以admin(用户访问控制窗口)的身份运行此任务。我已经有代码检查,用户是否有权访问这些文件,我只是不知道,如何调用用户访问控制窗口(对于File.Move和/或File.Copy

我不希望用户以管理员身份运行该应用程序。管理员权限仅用于文件操作,并且仅在用户无法访问这些文件时才需要。 该应用程序在Windows Vista及更高版本上运行。

感谢任何帮助。

谢谢, 兹比涅克

1 个答案:

答案 0 :(得分:1)

UAC与流程相关联。为此任务创建一个(无窗口)帮助应用程序,该应用程序需要其清单中的管理员权限(如here所述),然后使用Process.Start从主应用程序调用该应用程序(确保检查失败,用户拒绝提升的情况)。如果用户已经提升,则不会提示他们。

如果需要向帮助程序提供有关操作的更多信息(要复制到哪个文件),可以使用命令行参数。