1

Windows Installer 具有自动决定是否将注册表值存储在HKEY_CURRENT_USERHKEY_LOCAL_MACHINERoot="HKMU"在 WiX 中使用)的智能功能。

我需要在安装过程中编写一些复杂的注册表项,因此我为此创建了一个自定义操作。取决于是否ALLUSERS设置或HKEY_CURRENT_USERHKEY_LOCAL_MACHINE是自定义操作使用的位置。

不幸的是,我不得不意识到,即使在ALLUSERS安装中,自定义操作也没有写入所需的权限,HKEY_LOCAL_MACHINE除非以管理员身份启动安装。如何获得要写入的自定义操作,HKEY_LOCAL_MACHINE但仍保留按用户安装的选项?

4

1 回答 1

2

不要使用自定义操作,您将失去 Windows Installer 的所有其他智能功能,例如 ugprades、回滚、卸载等。

相反,将注册表值放在它们自己的组件中,并对组件设置条件。如果条件评估为真,则组件及其关联的注册表资源将被安装。

看看Privileged 属性。这听起来像是您正在寻找进行评估的内容。

于 2012-09-07T00:01:31.570 回答