以另一个用户身份安装MSI(Wix Toolset)

时间:2019-09-18 08:29:22

标签: wix windows-installer impersonation

我使用个性化的UI和自定义操作正常运行了MSI设置。它将以相同的帐户设计部署在特定的计算机园区:

  • 具有经典特权的运营商帐户。
  • 具有管理员权限的安装程序帐户。

我们希望能够同时在两个帐户上启动我们的MSI,但是当从运营商处进行操作时,必须填写一张表格,询问安装凭据,并安装与安装用户一起记录的所有内容。

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

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

如果通过SCCM或其他基础结构管理工具部署软件,则可以将该软件放置在Administrator Context中运行,因此,不需要Administrator特权即可进行安装。

此外,当您测试MSI时,最好使用PSexec对其进行测试。什么是Psexec?选中here

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

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

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

因此,为了更直接地回答您的问题,您不能以普通用户的身份隐藏凭据对话框。必须通过诸如SCCM之类的基础架构管理工具来部署MSI,否则另一个解决方案(我不推荐)是将MSI设计为per-user installation