2011-12-09 23 views
12

Tengo un problema con Wix, donde un control de edición no establece una propiedad. Estoy usando la propiedad en un nodo XmlFile para modificar un archivo .xml copiado a la ubicación de instalación. El valor de la propiedad IS se establece correctamente en el archivo (se usa el valor predeterminado), pero parece que no puedo establecer la propiedad con un valor desde el control Editar. Esto me está volviendo loco.Wix: el control de edición no establece la propiedad

<Fragment> 
    <Property Id="CUSTOMERNAMEPROPERTY" Value="Some default value" Secure="yes" /> 

    <UI> 
     <Control Id="CustomerNameEdit" Type="Edit" X="120" Y="75" Width="220" Height="18" Property="CUSTOMERNAMEPROPERTY" Text="{80}" Indirect="yes" /> 
    </UI> 
</Fragment> 

¿Qué pasa con esto? Gracias

Respuesta

26

El atributo Indirecto debe establecerse en "no". Los controles de edición deben hacer referencia a sus propiedades directamente.

Además, asegúrese de utilizar un public property (solo letras mayúsculas en su nombre). Las propiedades privadas usan sus valores predeterminados durante la instalación.

+1

Juré intentado antes y no funcionó ... pero ahora lo hace, así que va a marcar esto como la respuesta. Gracias. – MrLane

+1

+1 por tener el nombre de la propiedad en MAYÚSCULAS. ¡Tuve el mismo problema y MAYOR RESOLUCIÓN lo solucioné! Te daría + 1 millón si pudiera –

2

intentaremos declarar su propiedad dentro <UI> elemento:

<Fragment> 
    <UI> 
     <Property Id="CUSTOMERNAMEPROPERTY" Value="Some default value" Secure="yes" /> 
     <Control Id="CustomerNameEdit" Type="Edit" X="120" Y="75" Width="220" Height="18" Property="CUSTOMERNAMEPROPERTY" Text="{80}" Indirect="yes" /> 
    </UI> 
</Fragment> 
+1

Esto no es verdad; Las propiedades MAYÚSCULAS se registran en una tabla de propiedades en el MSI dondequiera que se encuentren en los archivos wsx. –

Cuestiones relacionadas