Настройки для каждого пользователя : Я не буду лгать вам, я активно избегаю такого рода настроек.Я считаю, что установки MSI для каждого пользователя "не идеальны".Это связано с плохим обслуживанием (обновления, исправления и т. Д.) И рядом других деталей. Некоторые подробности в середине страницы здесь .
Некоторые ссылки для тех, кто читает этот ответ (я думаю, что вы читали это):
Условия функции : При этом вы можете использовать условия функции для отмены выбора функций в зависимости от того, определенное условиеэто правда или ложь.Вы можете даже установить Level
функции на 0
, которая будет полностью скрывать его от GUI во время установки.Вы можете попробовать это.Пожалуйста, прочитайте связанный ответ ниже (выделен жирным шрифтом).Он содержит более подробное объяснение состояния функций.
У меня нет времени для проверки этого, но вот макет WiX, который вы можете попробовать:
<Feature Id="MyFeature" Level="1"> <!--Default to install feature-->
<Condition Level="0"> <!--Do not install feature if condition is true-->
ALLUSERS=2 OR MSIINSTALLPERUSER=1
</Condition>
</Feature>
Эти ответы могутпомочь вам получить обзор этого:
Скрыть проверку возможностей : я добавлю небольшой фрагмент, который можно использовать для проверки работы скрытия функции.Он заставляет рассматриваемое условие быть истинным, устанавливая его равным 1 - в отличие от использования «реального условия», которое может неожиданно быть ложным.
<Feature Id="SupportingFiles" Title="SupportingFiles" Level="1">
<Condition Level="0">1</Condition>
</Feature>
Это должно скрыть функцию SupportingFiles из вида в графическом интерфейсе настройки, и он также не должен устанавливать его.Пожалуйста, дайте мне знать, если вы видите другое поведение.
Пользовательские действия : чтобы интерактивно скрыть функцию, основанную на изменениях, сделанных в графическом интерфейсе, вы можетепопробуйте использовать пользовательские действия для управления уровнями функций.
Я не уверен, что это будет работать.Я проверю, когда у меня будет шанс.Просто добавьте эту ссылку на данный момент.
ОБНОВЛЕНИЕ : Я не могу исследовать это прямо сейчас.Я хочу предупредить вас о возможности добавления временных строк в базу данных во время установки.Возможно, это способ скрыть функцию "в интерактивном режиме".Я просто не знаю, так как я никогда не пробовал. Вот первая ссылка, которую я нашел во временных записях .И внизу - ссылки .Никаких гарантий.
Кроме этого, я полагаю, вы можете использовать внешний графический интерфейс запуска.Я мог бы прокомментировать это позже. Я недавно писал об этой проблеме (внешний графический интерфейс) .
Некоторые дополнительные ссылки для справки :