【问题标题】:In Windows, how does a per-user install happen for users who lack install privileges?在 Windows 中,没有安装权限的用户如何进行按用户安装?
【发布时间】:2013-12-18 02:37:22
【问题描述】:

我的用户通常在锁定的工作站上工作。他们缺乏管理员权限,无法自行安装软件。过去,我将我的应用程序设计为按机器安装,而不是按用户安装。管理员在工作站上安装我的应用程序,然后使用该工作站的每个人都可以使用该应用程序。

现在我正在考虑切换到按用户安装,但我不知道这将如何在我的用户环境中工作。管理员有没有办法说“使用我的权限安装此应用程序不是为我,而是为用户 X?”管理员是否必须一次安装一个用户,或者有没有办法一次完成一批安装?简而言之,我是在让 IT 员工的事情变得更容易、更难还是不可能?这是否取决于我的安装程序? (我使用的是 Windows 安装程序。)

【问题讨论】:

  • 首先,您为什么决定进行按用户安装?
  • 我还没有决定改变,但我正在考虑。部分原因是为了促进按用户许可。另一部分原因是微软的官方说法是“在 Windows 7 及更高版本中,我们强烈建议您按用户而不是按机器安装应用程序”。 (见msdn.microsoft.com。)
  • 另见微软文档:installation context

标签: windows installation windows-installer


【解决方案1】:

没有“安装权限”之类的东西。非管理员用户无法安装常规应用程序的唯一原因是安装程序通常 (a) 想要将应用程序文件放在需要管理员权限的 Program Files 中; (b) 想要在HKEY_LOCAL_MACHINE\Software 中创建一个注册表项并写入它。 [更老的安装程序可能还想将文件写入system32,进行其他全局注册表更改等等,但现在不鼓励这样做。]

按用户安装无需任何管理员权限。应用程序文件放在用户自己的空间中,例如,在应用程序数据文件夹内,应用程序的注册表项在HKEY_CURRENT_USER\Software 而不是HKLM 中创建。这意味着用户可以在没有管理员帮助或许可的情况下自行安装应用程序。 [实际上,管理员可以锁定系统,使用户无法安装自己的应用程序,但这在更严格的企业环境之外并不常见。]

如果应用程序仅支持按用户安装,则管理员无法代表用户安装应用程序。每个用户都必须自己运行安装程序。 [当然,熟练的管理员可以自动执行此操作,例如,安装程序会在用户登录时自动运行。]

按用户安装是否会使 IT 人员的工作变得更容易或更难,完全取决于具体情况。但是,许多企业系统管理员对每用户应用程序感到不满。在某些情况下(例如漫游配置文件),每个用户的应用程序可能会出现故障或导致其他问题,例如网络负载过大或磁盘配额问题。 [在一些企业中,由于软件限制政策、AppLocker 和/或第三方等效项,它们将被完全锁定。]

安装程序可以同时支持每台机器和每用户安装,因此这通常是最佳选择;或者,像 Google Chrome 一样,您可以为同一应用程序提供单独的每用户和每机器安装程序。

如果我理解正确的话,Windows Installer 可以很容易地提供一个安装程序,它可以进行每台机器和每用户的安装。大多数支持按用户安装的 .msi 文件也将通过 ALLUSERS 属性支持按机器安装。我不确定开发人员是否需要做任何特别的事情来完成这项工作。

【讨论】:

  • 先生。约翰斯顿,谢谢你写得很好的答案。我希望学习的所有内容都包含在这些关键点中:1)“在没有任何管理员权限的情况下进行每用户安装”; 2)“如果应用只支持按用户安装,则管理员无法代表用户安装应用”;和 3) “有......场景......每个用户的应用程序可能会出现故障或导致其他问题。”
  • @Cyro,以防万一真实示例对您或其他读者有用:默认情况下,Google Chrome 会按用户自行安装。在我们的教学实验室中,我们使用漫游配置文件,并且计算机被配置为在用户注销时自动删除本地副本。如果为每个用户安装了谷歌浏览器,它可以工作,但只有在用户注销之前;当您重新登录时,Chrome 无法正常工作(因为文件已被删除)。使用旧版本的 Chrome,您甚至无法成功重新安装它,尽管新版本可能已经解决了这个问题,但我不确定。
猜你喜欢
  • 1970-01-01
  • 2018-08-06
  • 2011-08-11
  • 2013-05-17
  • 2016-08-29
  • 2012-02-02
  • 1970-01-01
  • 2017-05-25
  • 2018-07-13
相关资源
最近更新 更多