wix - 以其他用户身份安装 MSI(Wix 工具集)
问题描述
我得到了一个具有个性化 UI 和自定义操作正常工作的 MSI 设置。它将部署在特定的计算机园区,始终具有相同的帐户设计:
- 具有经典权限的操作员帐户。
- 具有管理员权限的设置帐户。
我们希望能够在两个帐户上启动我们的 MSI,但是当从操作员执行此操作时,必须填写一个表格,要求提供设置凭据并安装所有内容,因为它是由设置用户记录的。
是否有用于此的 Windows/MSI 工具?我可以通过在 UI 显示之前启动的特定自定义操作来做到这一点吗?
感谢您的帮助
解决方案
当您将 MSI 部署到具有标准权限的用户时,这将始终要求您提供管理员凭据以安装 MSI(假设 MSI 是按计算机安装而不是按用户安装)。
如果您通过 SCCM 或其他基础架构管理工具部署您的软件,您可以将其放置在管理员上下文中运行,因此,您不需要管理员权限即可安装它。
此外,当您测试 MSI 时,最好使用 PSexec 对其进行测试。什么是 Psexec?在这里检查。
PsExec 是来自 Microsoft 的便携式工具,可让您使用任何用户的凭据远程运行进程。如果您运行 psexec -s -i(在具有管理员权限的 cmd 中),这将模拟系统帐户,从而允许您安装应用程序而无需您提供管理权限(密码等)。
当您测试 MSI 时,PSexec 是必须的。例如,如果您的 MSI 中有任何用户数据。因为,当您从其他帐户安装 MSI 时,并非所有数据都会自动放置在其他用户身上,为此您必须使用 ActiveSetup 或其他解决方案才能使其对所有用户可用。在此处查看有关用户数据和任何其他 MSI 主题的更多信息。
如果您从管理员帐户安装 MSI 并希望对当前登录的用户运行不同的操作,我为此设计了一个工具,可以在此处下载。
因此,要更直接地回答您的问题,您不能以普通用户的身份禁止凭据对话框。MSI 必须从一些基础设施管理工具(如 SCCM)部署,或者另一种解决方案(我不推荐)将 MSI 设计为按用户安装。
推荐阅读
- java - Vector2 类的旋转问题
- docker - 删除现有的 docker 容器/图像 GitLab CI
- google-sheets - 仅当与 Dropbox 中的特定字符串匹配时才对特定单元格求和
- php - Windows server 2008 SMTP 连接成功但邮件不发送
- python - Keras 不接受目标标签,因为它的形状?
- java - web3J 与 infura 的兼容性
- jquery - 在推送器上接收事件但数据的值为空
- python - 类复制方法返回不正确的引用
- reactjs - 有没有办法链接 react-redux 和 react-router?
- java - 如何获得java中每个循环输出的总和?