ho la seguente proprietà:Valori Wix booleano proprietà non funzionano
<Property Id="UPDATEDB">1</Property>
Una casella di controllo nell'interfaccia utente legato a quella proprietà:
<Control Id="updateDatabase" Type="CheckBox" CheckBoxValue="1" Height="15" Width="95" X="20" Y="74" Text="Update Database" Property="UPDATEDB" />
E un'azione personalizzata che fa qualcosa sulla base di il valore di questa proprietà
<CustomAction Id="RunDbMigration" Directory="INSTALLDIR" Return="check"
ExeCommand='[DBMIGRATIONDIR]\DbMigration.exe' />
<InstallExecuteSequence>
<Custom Action="RunDbMigration" After="InstallFinalize">UPDATEDB=1 AND NOT Installed</Custom>
</InstallExecuteSequence>
Se provo a passare il valore 0 per updatedb dalla riga di comando:
msiexec /i "Setup.msi" /l* UPDATEDB=0
o
msiexec /i "Setup.msi" /l* UPDATEDB="0"
il valore della casella è selezionata comunque. Detto questo, lo 0 passato sembra essere rispettato e l'azione RunDbMigration non viene eseguita ...
Cosa sta succedendo qui? Perché questa scienza missilistica è così?
Bingo. Grazie. Passando in UPDATEDB = "" ha fatto il trucco. Ho capito perché la mia azione personalizzata non veniva eseguita, ma non perché la casella di controllo fosse ancora controllata. Ora capisco che tutto ciò che non è "" significa controllato. – Jeff