с условием, которое оценивается как истинное. Таким образом, эта функция может быть скрыта при обычной установке, но все функции - со связанными файлами - извлекаются во время установки администратора.

лько я понимаю, в WiX установлен флажок, если свойство не равно нулю. Таким образом, чтобы установить флажок по умолчанию «Checked», свойство должно быть определено отдельно от флажка.

Учитывая это, у меня есть флажок, который позволяет пользователю выбирать, хотят ли они добавить ярлык на свой рабочий стол. Первоначально он был настроен для проверки по умолчанию, но сейчас я пытаюсь изменить его, чтобы он не проверялся по умолчанию. Однако когда я удаляю определение свойства, чтобы оно не было проверено, опция больше не работает. Установщик не добавит ярлык, независимо от того, установлен флажок или нет. Вот как изначально был установлен флажок:

<Property Id="ADD_DESKTOP_SHORTCUT" Value="1" />

<Control Id="ShortcutCheckbox"
         Type="Checkbox"
         Property="ADD_DESKTOP_SHORTCUT"
         CheckBoxValue="1"
         Integer="yes"
         Text="Add Desktop Shortcut" />

Функция ярлыка на рабочем столе определяется следующим образом:

<Feature Id="DesktopShortcut" Title="Desktop Shortcut" Level="0">
  <ComponentRef Id="CMP_DesktopShortcut" />
  <Condition Level="1">
    <![CDATA[(ADD_DESKTOP_SHORTCUT) or (REMOVE = "ALL")]]>
  </Condition>
</Feature>

Выше работает, но как только уберу<Property Id="ADD_DESKTOP_SHORTCUT" Value="1" />&nbsp;он больше не добавляет ярлык независимо от выбора флажка.

Я также попытался оставить свойство определенным, но изменив его значение так:

<Property Id="ADD_DESKTOP_SHORTCUT" Value="{}" />

Это тоже не работает. Я получаю ошибку. (Код ошибки 2892)

Может кто-нибудь сказать мне, почему удаление значения по умолчанию приводит к тому, что опция перестает работать? И / или как заставить его работать?