正如我所看到的 - WiX 支持两种 CustomAction:
延迟 - 运行此操作的用户(默认情况下)被提升,但不是运行安装的用户(例如,LocalSystem 或某些类似的用户)。
立即 - 运行此操作的用户(默认情况下)未提升 - 它是首先运行安装程序的用户。
我需要一些介于中间的东西 - 我想要运行安装程序的用户的提升形式 (UAC)。
我需要这个的原因是访问只能由以提升形式安装包的用户访问的数据库(LocalSystem 不可访问)。
这不存在。自定义操作只有两种可能的运行环境。一种是启动用户(通常通过模拟)。另一个是 Windows Installer 服务的提升上下文。在某些机器上(例如 Windows XP,或禁用 UAC 的机器),或使用提升引导程序,启动用户是管理员用户;MSIUSEREALADMINDETECTION
您可以使用和AdminUser
属性的组合来检查这种情况。但在任何情况下都没有第三种情况。