使用WiX添加多字符串注册表值?

6

现在我使用类似这样的东西:

<Component Id="RegistryEntries" Guid="<guid>" KeyPath="yes">  
  <RegistryKey Root="HKCU" Key="<path>" Action="createAndRemoveOnUninstall">  
    <RegistryValue Name="myStrings" Action="append" Type="multiString">  
      1  
    </RegistryValue>  
    <RegistryValue Name="myStrings" Action="append" Type="multiString">  
      2
    </RegistryValue>  
    <RegistryValue Name="myStrings" Action="append" Type="multiString">  
      3
    </RegistryValue>  
    <RegistryValue Name="myString" Value="x" Type="string"/>  
  </RegistryKey>  
</Component>  

但是我遇到了下一个错误:

主键"reg<key>"在表'Registry'中重复。请删除其中一个条目或重命名主键的一部分以避免冲突。

答案:根据Yan的回答,我的xml如下:

<Component Id="RegistryEntries" Guid="<guid>">
  <RegistryKey Root="HKCU" Key="<path>" Action="createAndRemoveOnUninstall">
    <RegistryValue Name="myStrings" Action="append" Type="multiString">
      <MultiStringValue Name="myStrings" Action="append" Type="multiString">  
        1
      </MultiStringValue>
      <MultiStringValue Name="myStrings" Action="append" Type="multiString">  
        2
      </MultiStringValue>
      <MultiStringValue Name="myStrings" Action="append" Type="multiString">  
        3
      </MultiStringValue>
    </RegistryValue>
    <RegistryValue Name="myString" Value="x" Type="string"/>
  </RegistryKey>
</Component>

哦,好麻烦啊!终于找到可行的解决方案了!我之前不知道如何使用多行字符串。 - sergtk
1
实际上,MultiStringValue 标签的所有属性都没有任何作用。 - galinette
2个回答

8
实际上,它只需要是这样的:
<RegistryValue Type="multiString" Name="Value Name">
  <MultiStringValue>1</MultiStringValue>
  <MultiStringValue>2 &lt; 3</MultiStringValue>   <!-- Stands for 2 < 3 -->
  <MultiStringValue>33</MultiStringValue>
</RegistryValue>

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接