据我所知 - WiX 支持两种 CustomActions:
延迟 - 运行此操作的用户(默认情况下)已提升,但不是运行安装的用户(例如,LocalSystem 或类似的用户)。
立即 - 运行此操作的用户(默认情况下)未提升 - 它是首先运行安装程序的用户。
我需要一些中间的东西 - 我想要运行安装程序的用户的提升形式 (UAC)。
我需要它的原因是为了访问只能由以提升形式安装包的用户访问的数据库(无法访问 LocalSystem)。
最佳答案
这不存在。自定义操作只有两种可能的上下文。一种是启动用户(通常通过模拟)。另一个是 Windows Installer 服务的提升上下文。在某些机器上(例如 Windows XP,或禁用 UAC 的机器),或提升 Bootstrap ,启动用户是管理员用户;您可以使用 MSIUSEREALADMINDETECTION
的组合来检查这种情况和 AdminUser
特性。但在任何情况下都没有第三个上下文。
关于wix - 以提升的用户身份在 Wix 中运行 CustomAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11736330/