我们有一个CustomAction设置一些注册表项HKEY LOCAL_MACHINE.在我们将行动"推迟"之前,这不适用于使用UAC的Vista.安装程序在其他情况下工作.谁知道为什么?
我们正在使用WIX来创建安装程序.
+1兰斯.用另一种方式来表达它并提供更多信息
MSI过程中有两个步骤
立即 - 您收集偏好的地方(安装目录等) - 此处不应对机器进行任何更改
然后是
延迟 - 在收集所有首选项并实际执行安装后运行.
进一步的想法
立即可能并不总是运行(例如脚本安装),所以不要依赖它.
延迟操作可以运行2种模式
NoImpersonate - 又名NT Authority\System,拥有您计算机的完全权限
冒充 - 任何人开始安装.
启用UAC后,Impersonate会有一个踢球者.即使用户实际上是管理员,您也只有标准用户令牌而没有管理员权限 - 因此,如果可能,请保留NoImpersonate,否则您的自定义操作将无法执行任何操作.