在Windows中,对于缺少安装权限的用户,如何进行每用户安装?

时间:2013-12-18 02:37:22

标签: windows installer windows-installer

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

现在我正在考虑切换到每用户安装,但我不知道这在我的用户环境中会如何工作。有没有办法让管理员说“使用我的权限来安装此应用程序不是为了我,而是为了用户X?”管理员是否必须一次安装一个用户,或者是否有办法一次性完成一批安装?简而言之,我是否让IT人员更容易,更难或更难?这有什么依赖于我的安装程序? (我正在使用Windows Installer。)

1 个答案:

答案 0 :(得分:4)

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

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

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

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

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

如果我理解正确,Windows Installer可以非常轻松地提供可以执行每台计算机和每用户安装的安装程序。支持每用户安装的大多数.msi文件也将通过ALLUSERS属性支持每台计算机的安装。我不确定开发人员是否需要做任何特别的事情来使这项工作。