windows - 在 Windows 中,如何为没有安装权限的用户进行按用户安装?

标签 windows installation windows-installer

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

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

最佳答案

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

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

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

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

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

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

关于windows - 在 Windows 中,如何为没有安装权限的用户进行按用户安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648731/

相关文章:

windows - 获取在 Windows XP 上复制文件的时间和日期

.net - 使用已安装应用程序的路径的自定义 .net 安装程序的简单示例

远程机器上的 Powershell Start-Process msiexec 不工作

c# - ASP.NET 应用程序的 Web 安装程序在运行 IIS7 的计算机上失败

linux - 从 Linux 设置一个 Windows exe 图标(没有 Wine?)

windows - 使用 Topshelf 安装后在服务下看不到我的服务

c# - 使用 LINQ to SQL、动态创建数据库和创建安装应用程序的桌面应用程序

c# - 避免 MsiExec 卸载中的确认框

java - 如何在 Java、Windows 中获得正确的 URI

android - 在实际的智能手机上安装 apk