Wix как да скриете опциите на функциите

Използвам Wix 3.5 за създаване на MSI инсталатор. Искам да знам дали има някакъв начин да скрия някои опции от „Диалоговия прозорец за персонализирана настройка на функциите“ (в който избирате от дървото на функциите какво да инсталирате).

Искам да имам само опциите за „Ще се инсталира на локален твърд диск“ и „Цялата функция няма да бъде налична“

В момента, освен тези две опции, имам следните опции:

  • „Цялата функция ще бъде инсталирана на локален твърд диск“
  • „Ще бъде инсталиран за работа от мрежа“
  • „Цялата функция ще бъде инсталирана за работа от мрежата“

person Herno    schedule 17.10.2012    source източник


Отговори (3)


Диалоговият прозорец за избор на функция използва контрола SelectionTree, вградена контрола на Windows Инсталатор.

Можете да контролирате кои опции за инсталиране се показват за дадена функция, като използвате колона Attributes от Таблица с функции.

Елемент с функции на WiX има четири свойства, които контролират как може да се инсталира дадена функция:

  • Отсъства: разреши / забрани
  • AllowAdvertise: не / система / да
  • Инсталиране по подразбиране: followParent / local / source
  • Типично по подразбиране: рекламиране / инсталиране

Таблица с компоненти също контролира дали компонентът може да се изпълнява от източника или не. Елементът Component има свойството Location:

  • local
    Предотвратява стартирането на компонента от източника или мрежата (това е поведението по подразбиране, ако този атрибут не е зададен).
  • източник
    Налага, че компонентът може да бъде стартиран само от източника (не може да бъде стартиран от компютъра на потребителя).
  • или
    Позволява на компонента да се изпълнява от източника или локално.

Така че, за да премахнете опцията за стартиране от мрежата, задайте свойството Location на вашите компоненти на local.

Не можете да премахнете Цялата функция ще бъде инсталирана на локалния твърд диск от опциите. Показва се само когато има подфункции и позволява инсталирането на подфункциите, както и на самата функция, за разлика от Ще се инсталира на локален твърд диск, което инсталира само избраните функции и не засяга подфункциите.

Ако подфункциите винаги се инсталират с родителя, можете да опитате да зададете InstallDefault атрибут на подфункциите на followParent.

person Alexey Ivanov    schedule 20.10.2012
comment
Имам две отделни функции без подфункции, но функцията Цялата функция ще бъде инсталирана на локалния твърд диск все още се появява. Защо? - person Edgar; 21.01.2015
comment
@Edgar Странно, изглежда, че Windows Installer винаги показва Цялата функция ще бъде инсталирана на локалния твърд диск, дори ако няма подфункции. Поне този елемент присъстваше във всички случаи, които тествах, където нямаше видими подфункции. Може да зависи и от версията на Windows Installer. За съжаление не мога да предложа нищо по-полезно. - person Alexey Ivanov; 23.01.2015
comment
Благодаря Алексей. Можете ли да добавите този коментар към този въпрос? stackoverflow.com/ въпроси/28083142/ - person Edgar; 23.01.2015

За да премахнете „Тази функция ще бъде инсталирана, когато е необходимо“, задайте във вашата функция AllowAdvertise="no" https://www.firegiant.com/wix/tutorial/user-interface/custom-settings/

person Artur Chodacki    schedule 10.02.2017

Ако използвате WiX UIExtension, тогава трябва да изтеглите изходния код на WiX за това разширение и да го промените по подходящ начин. Следните връзки трябва да ви помогнат да започнете:

Персонализации на потребителския интерфейс на WiX

Персонализиран потребителски интерфейс на Wix за инсталиране на SQL база данни

Как да добавите потребителски интерфейс към инсталационна програма на WiX 3?

АКТУАЛИЗАЦИЯ:

При изследване на източника на WiX UI, FeaturesDlg показва контрола „SelectionTree“. Изглежда, че контролата (заедно с другите контроли, показвани от потребителския интерфейс на WiX) са контроли на Windows Installer, а не контроли, специфични за WiX. Вижте SelectionTree . Така че изглежда, че няма лесен начин просто да "изключите" тези опции.

person BryanJ    schedule 17.10.2012
comment
Разглеждах връзките, но изглежда, че няма начин да премахна тези опции от контрола на дървото на функциите. Не се споменава как да го конфигурирате. - person Herno; 17.10.2012