WiX没有写注册表值(Win 7 x64)

时间:2011-05-23 11:15:19

标签: windows-7 wix registry

我是WiX的新手,我对如何在安装过程中创建注册表项感到困惑。我正在使用RegistryKeyRegistryValue这样的元素:

<Component Id="RegKeys" Guid="824A9E7D-211C-4404-80F7-6AC4185B1E66">
    <RegistryKey Action="createAndRemoveOnUninstall" Root="HKLM" Key="SOFTWARE\My\Path">
        <RegistryValue Name="MyKey" Type="string" Value="Blah blah blah"/> 
    </RegistryKey>
</Component>

对主要功能进行相应的ComponentRef调用:

<ComponentRef Id="RegKeys"/>

安装程序构建正常并且运行时没有任何明显错误,但在Wow6432Node密钥(或其他任何地方)下没有创建密钥或值。安装程序适用于32位应用程序,但我尝试在Windows 7 64位上安装它。

我缺少什么(我确定这是显而易见的)?我们正在使用WiX 3.5。

2 个答案:

答案 0 :(得分:4)

要尝试两件事:

  1. 使用Windows SDK中的Orca验证注册表中是否存在该值。 (这消除了构建问题。)
  2. 检查详细日志以查看MSI对组件的操作以及它对注册表数据的作用。

答案 1 :(得分:1)

注册表值是否仅在其组件中?如果是这样,请将KeyPath设置为“是”。