1

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

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

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

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

任何帮助表示赞赏。

谢谢,兹比尼克

4

1 回答 1

1

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

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

于 2014-12-17T12:56:51.093 回答