【问题标题】:Software updates and UAC软件更新和 UAC
【发布时间】:2012-03-09 01:23:10
【问题描述】:

Windows 如何处理安全和软件更新?我需要将软件部署到几台计算机上,这些计算机会定期更新。更新只是下载并运行新的安装程序。显然,对于初始安装,管理员需要运行安装程序,但之后安装程序是否被列入白名单以非管理员身份运行?这适用于 XP 和 7。安装程序是使用 WiX 生成的 msi。

【问题讨论】:

  • 我不知道 UAC 有任何自动白名单。我的猜测是,每次运行安装程序时,如果 UAC 开启并且您确实需要管理员权限,您都希望以管理员身份运行它。
  • 那么程序如何在不需要管理员权限的情况下处理更新?我一直是计算机的管理员,但我认为防病毒软件之类的东西可以从非管理员帐户自行更新。
  • 也许他们注意不要做任何违反 UAC 和/或需要管理员的事情?不确定。

标签: windows windows-7 windows-xp uac


【解决方案1】:

不,安装程序未列入白名单。即使是这样,更新也是另一个安装程序。因此,您的问题的答案是:用户必须在 UAC 提示符中确认提升。

Firefox 和 Opera 就是例子。每次准备好安装更新时,更新程序都会显示 UAC 提示。另一方面,Chrome 在没有 UAC 提示的情况下更新,仅仅是因为它安装到没有写保护的用户配置文件中(我的意思是当前用户拥有完全权限)。

Firefox 计划实施一项服务以促进更新过程。该服务在系统权限下运行,它可以在没有用户同意的情况下以系统权限启动更新程序进行提升,因为它已经拥有对系统的完全访问权限。这就是防病毒软件自我更新的方式。通常有两个进程:服务和显示 UI 并与服务通信的客户端。

对于 MSI,有系统策略。例如,您可以启用一个策略,根据该策略,任何基于 Windows Installer 的安装都将运行提升。通常补丁(次要更新)运行提升。可能存在控制主要更新的策略(卸载旧版本,然后安装新版本),但我不知道。

【讨论】:

    【解决方案2】:

    我不知道 WiX,但可以为您现有的安装程序包生成 .msp 补丁。如果使用 MsiPatchCertificate 表正确填写 MSI,则可以在修补时避免提升。

    更多详情请访问 MSDN:User Account Control (UAC) PatchingPatching Game Software in Windows XP, Windows Vista, and Windows 7

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-11
      • 2020-11-29
      • 2014-04-26
      • 2010-11-15
      • 1970-01-01
      • 2017-11-02
      • 2015-12-06
      • 1970-01-01
      相关资源
      最近更新 更多