La propiedad WiX Checkbox solo funciona si se da el valor predeterminado
Según tengo entendido, en WiX, se marca una casilla de verificación si la propiedad no es nula. Por lo tanto, para que una casilla de verificación sea "Marcada", la propiedad debe definirse aparte de la casilla de verificación.
Dado eso, tengo una casilla de verificación que permite al usuario elegir si desea o no agregar un acceso directo a su escritorio. Originalmente se configuró para que se verificara de forma predeterminada, pero ahora estoy tratando de cambiarlo para que no esté marcado de forma predeterminada. Sin embargo, cuando elimino la definición de propiedad para que no se verifique, la opción ya no funciona. El instalador no agregará el acceso directo si la casilla está marcada o no. Así se definió originalmente la casilla de verificación:
<Property Id="ADD_DESKTOP_SHORTCUT" Value="1" />
<Control Id="ShortcutCheckbox"
Type="Checkbox"
Property="ADD_DESKTOP_SHORTCUT"
CheckBoxValue="1"
Integer="yes"
Text="Add Desktop Shortcut" />
La función de acceso directo del escritorio se define de la siguiente manera:
<Feature Id="DesktopShortcut" Title="Desktop Shortcut" Level="0">
<ComponentRef Id="CMP_DesktopShortcut" />
<Condition Level="1">
<![CDATA[(ADD_DESKTOP_SHORTCUT) or (REMOVE = "ALL")]]>
</Condition>
</Feature>
Lo anterior funciona, pero tan pronto como elimine<Property Id="ADD_DESKTOP_SHORTCUT" Value="1" />
ya no agrega el acceso directo, independientemente de la selección de la casilla de verificación.
También intenté dejar la propiedad definida, pero cambiando su valor de esta manera:
<Property Id="ADD_DESKTOP_SHORTCUT" Value="{}" />
Esto tampoco funciona. Me sale un error (Código de error 2892)
¿Alguien puede decirme por qué eliminar el valor predeterminado hace que la opción deje de funcionar? ¿Y / o cómo hacer que funcione?