с условием, которое оценивается как истинное. Таким образом, эта функция может быть скрыта при обычной установке, но все функции - со связанными файлами - извлекаются во время установки администратора.
лько я понимаю, в 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" />
он больше не добавляет ярлык независимо от выбора флажка.
Я также попытался оставить свойство определенным, но изменив его значение так:
<Property Id="ADD_DESKTOP_SHORTCUT" Value="{}" />
Это тоже не работает. Я получаю ошибку. (Код ошибки 2892)
Может кто-нибудь сказать мне, почему удаление значения по умолчанию приводит к тому, что опция перестает работать? И / или как заставить его работать?