2010-09-20 23 views
6

Ahora usar algo como esto:¿Agregar valor de registro multiString usando 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> 

pero tengo el siguiente error:

La clave primaria "reg<key>" se duplica en la tabla 'Registro'. Elimine una de las entradas o cambie el nombre de una parte de la clave principal para evitar la colisión.

RESPUESTA: Después de mi Yan's respuesta XML se parece a:

<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> 
+0

ohhh, por lo engorroso !! ¡finalmente encontró la solución de trabajo! No pude darme cuenta de cómo usar multistring. – sergtk

+1

En realidad, todos los atributos de las etiquetas MultiStringValue no tienen ningún efecto. – galinette

Respuesta

5

En realidad todo lo que tiene que ser es la siguiente:

<RegistryValue Type="multiString" Name="Value Name"> 
    <MultiStringValue>1</MultiStringValue> 
    <MultiStringValue>2 &lt; 3</MultiStringValue> <!-- Stands for 2 < 3 --> 
    <MultiStringValue>33</MultiStringValue> 
</RegistryValue> 
Cuestiones relacionadas