首页 > 解决方案 > 以其他用户身份安装 MSI(Wix 工具集)

问题描述

我得到了一个具有个性化 UI 和自定义操作正常工作的 MSI 设置。它将部署在特定的计算机园区,始终具有相同的帐户设计:

我们希望能够在两个帐户上启动我们的 MSI,但是当从操作员执行此操作时,必须填写一个表格,要求提供设置凭据并安装所有内容,因为它是由设置用户记录的。

是否有用于此的 Windows/MSI 工具?我可以通过在 UI 显示之前启动的特定自定义操作来做到这一点吗?

感谢您的帮助

标签: wixwindows-installerimpersonation

解决方案


当您将 MSI 部署到具有标准权限的用户时,这将始终要求您提供管理员凭据以安装 MSI(假设 MSI 是按计算机安装而不是按用户安装)。

如果您通过 SCCM 或其他基础架构管理工具部署您的软件,您可以将其放置在管理员上下文中运行,因此,您不需要管理员权限即可安装它。

此外,当您测试 MSI 时,最好使用 PSexec 对其进行测试。什么是 Psexec?在这里检查。

PsExec 是来自 Microsoft 的便携式工具,可让您使用任何用户的凭据远程运行进程。如果您运行 psexec -s -i(在具有管理员权限的 cmd 中),这将模拟系统帐户,从而允许您安装应用程序而无需您提供管理权限(密码等)。

当您测试 MSI 时,PSexec 是必须的。例如,如果您的 MSI 中有任何用户数据。因为,当您从其他帐户安装 MSI 时,并非所有数据都会自动放置在其他用户身上,为此您必须使用 ActiveSetup 或其他解决方案才能使其对所有用户可用。在此处查看有关用户数据和任何其他 MSI 主题的更多信息。

如果您从管理员帐户安装 MSI 并希望对当前登录的用户运行不同的操作,我为此设计了一个工具,可以在此处下载。

因此,要更直接地回答您的问题,您不能以普通用户的身份禁止凭据对话框。MSI 必须从一些基础设施管理工具(如 SCCM)部署,或者另一种解决方案(我不推荐)将 MSI 设计为按用户安装


推荐阅读