我有一个CustomAction作为MSI的一部分。
它必须以域帐户身份运行,该帐户也是本地管理员帐户的成员。
它不能使用NoImpersonate标志将自定义操作作为NT Authority\System运行,因为它将无法访问网络资源。
在启用UAC的Vista/2008上,如果关闭了NoImpersonate,则它将作为执行用户运行,但具有非特权令牌,并且无法访问本地资源,例如.installState。请参阅UAC架构
有人知道以下哪种方法可以:
强制MSI以相同方式使用提升的标记运行,就像从提升的命令提示符中运行一样?
强制CustomAction运行时提升(manifest中的requireAdministrator似乎不起作用)?
确定是否启用了UAC,如果还没有提升,则警告或取消安装?