【发布时间】:2020-08-19 14:57:36
【问题描述】:
我有一个 C++ 主应用程序,它将安装在 Program Files 文件夹中并在 UAC 控制下,即非特权用户无法写入或更改主应用程序文件夹内的数据。
我还有一个自动更新 C++ 应用程序,它将用于在没有标准用户干预的情况下自动更新主应用程序。
由于标准用户是应用程序的常规用户并且系统远离管理员的物理访问,我想知道如何使用登录系统的标准用户自动更新我的应用程序。
我知道的一种方法是从管理员帐户创建和安装一项服务,该服务可以从标准用户帐户更新应用程序。
如果我不想使用创建服务作为自动更新我的应用程序的选项,还有其他方法/工具可以帮助我吗?
【问题讨论】:
-
取决于具体的用例 - 如果用户在技术上是管理员并且您只是希望您的自动更新程序在没有 UAC 提示的情况下运行,您可以创建一个设置了“使用最高权限”标志的计划任务. (创建任务需要提升权限,但运行任务时不需要 UAC 确认。)
-
只要安装程序具有管理员权限,您就可以在服务会话中创建以 SYSTEM 身份运行的更新任务。我认为您不希望它要求以交互式会话的用户身份运行。
标签: windows auto-update