我们有一个 CustomAction 来设置一些注册表键 HKEY LOCAL_MACHINE。这不适用于带有 UAC 的 Vista,直到我们将操作“推迟”。安装程序在其他情况下工作。有谁知道为什么?
我们正在使用 WIX 来创建安装程序。
我们有一个 CustomAction 来设置一些注册表键 HKEY LOCAL_MACHINE。这不适用于带有 UAC 的 Vista,直到我们将操作“推迟”。安装程序在其他情况下工作。有谁知道为什么?
我们正在使用 WIX 来创建安装程序。
+1 长矛。换一种说法并提供更多信息
MSI 流程有 2 个步骤
然后稍后
一些进一步的想法
有 2 种模式可以运行延迟操作
NoImpersonate - 又名 NT Authority\System,对您的计算机拥有完全权限
模仿- 启动安装的人。
启用 UAC后, Impersonate有一个踢球者。即使用户实际上是管理员,您也将只有标准用户令牌并且没有管理员权限- 因此请尽可能保持NoImpersonate,否则您的自定义操作将无法执行任何操作。
在 InstallExecuteSequence 中遇到您的自定义操作时,它会立即运行;而不是在执行实际安装脚本时。这导致您的自定义操作以用户权限而不是系统的提升权限执行。这一系列博文将详细解释发生了什么,http://blogs.msdn.com/rflaming/archive/2006/09/23/768146.aspx。您不应该有影响机器状态的自定义操作不作为延迟自定义操作运行。