Добавить значение многострочного реестра с помощью WiX?
сейчас я использую что-то вроде этого:
<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>"
дублируется в таблице 'реестр'. Удалите одну из записей или переименуйте часть первичного ключа, чтобы избежать столкновения.
ответ: после Яна ответ мой 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>
2 ответов
на самом деле все, что нужно, это:
<RegistryValue Type="multiString" Name="Value Name">
<MultiStringValue>1</MultiStringValue>
<MultiStringValue>2 < 3</MultiStringValue> <!-- Stands for 2 < 3 -->
<MultiStringValue>33</MultiStringValue>
</RegistryValue>