我有一个应用程序,通常无需管理员权限即可运行。
该程序包括自动更新工具(从Web下载文件并替换本地文件)。 根据用户计算机中应用程序的位置,某些用户没有权限操作这些更新的文件,因此自动更新失败。
我想实现功能,它会提示用户以admin(用户访问控制窗口)的身份运行此任务。我已经有代码检查,用户是否有权访问这些文件,我只是不知道,如何调用用户访问控制窗口(对于File.Move
和/或File.Copy
)
我不希望用户以管理员身份运行该应用程序。管理员权限仅用于文件操作,并且仅在用户无法访问这些文件时才需要。 该应用程序在Windows Vista及更高版本上运行。
感谢任何帮助。
谢谢, 兹比涅克
答案 0 :(得分:1)
UAC与流程相关联。为此任务创建一个(无窗口)帮助应用程序,该应用程序需要其清单中的管理员权限(如here所述),然后使用Process.Start从主应用程序调用该应用程序(确保检查失败,用户拒绝提升的情况)。如果用户已经提升,则不会提示他们。
如果需要向帮助程序提供有关操作的更多信息(要复制到哪个文件),可以使用命令行参数。