我认为 - WiX支持两种CustomActions:
延迟 - 运行此操作的用户(默认情况下)已提升,但不是运行安装的用户(例如,LocalSystem或类似用户)。
立即 - 运行此操作的用户(默认情况下)未提升 - 它是首先运行安装程序的用户。
我需要中间的东西 - 我想要运行安装程序的用户的提升形式(UAC)。
我需要这个的原因是访问只能由用户以提升的形式安装包的数据库访问的数据库(无法访问LocalSystem)。
答案 0 :(得分:3)
这不存在。要运行自定义操作,只有两种可能的上下文。一种是启动用户(通常通过模拟)。另一个是Windows Installer服务的高级上下文。在某些计算机(例如Windows XP或禁用UAC的计算机)或提升引导程序的情况下,启动用户是管理员用户;您可以结合MSIUSEREALADMINDETECTION
和AdminUser
属性来检查此案例。但在任何情况下都没有第三种背景。