2011-12-09 13 views
12

Ho un problema con Wix dove un controllo Modifica non sta impostando una proprietà. Sto usando la proprietà in un nodo XmlFile per modificare un file .xml copiato nel percorso di installazione. Il valore della proprietà è impostato correttamente nel file (viene utilizzato il valore predefinito) ma non riesco a impostare la proprietà con un valore dal controllo Modifica. Questo mi sta facendo impazzire.Wix: Modifica controllo non imposta proprietà

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

Cosa c'è di sbagliato in questo? Grazie

risposta

26

L'attributo Indiretto deve essere impostato su "no". I controlli di modifica dovrebbero fare riferimento direttamente alle loro proprietà.

Inoltre, assicurarsi di utilizzare uno public property (solo lettere maiuscole nel suo nome). Le proprietà private utilizzano i loro valori predefiniti durante l'installazione.

+1

ho giurato provato prima e non ha funzionato ... ma ora lo fa, quindi mi segnerà questo come la risposta. Grazie. – MrLane

+1

+1 per avere il nome della proprietà tutto MAIUSCOLE. Ho avuto lo stesso problema e MAIUSCOLO risolto esso !!!! Ti darei 1 milione se potessi –

2

proveremo a dichiarare la vostra proprietà all'interno <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

Questo in realtà non è vero; Le proprietà MAIUSCOLE sono registrate in una tabella delle proprietà dell'MSI, ovunque si trovino nei file wsx. –

Problemi correlati