我使用嵌入自定义托管 (C#) 操作的 WiX 3.6 构建了一个 Windows 安装程序包。
在这个阶段,安装需要
- 安装程序使用特定的本地管理员帐户运行(在这种情况下,SharePoint 安装程序帐户是本地管理员)
- 用户帐户控制被禁用
我确实无法绕过要求 #1,因为托管操作只有在 SharePoint 安装程序帐户的上下文中运行时才能执行某些步骤。
我想删除要求 #2 并让安装程序正常运行,即使启用了 UAC 也是如此。
我已经非常广泛地研究了这个问题,但仍然无法让它发挥作用。我在我的包中设置了InstallScope="perMachine",这似乎正确提示了 UAC 提升,但安装程序仍然失败并出现臭名昭著的 2869 错误。
主要问题是我的自定义操作配置为Impersonate="yes"因为它必须在当前用户的上下文中运行,而不是本地管理员帐户。当我在线搜索时,几乎所有“修复”都指向自定义操作中的Impersonate="no",但这不是我的选择。
因此,我的问题是:有没有办法以当前用户的身份运行自定义托管操作,而无需完全禁用 UAC?