Передать флаг для объединения модуля из установщика WiX? - PullRequest
3 голосов
/ 06 декабря 2010

У нас есть модули слияния, которые будут устанавливать файлы PDB, когда определенная условная переменная истинна, однако нам нужно установить это условие.

Можно ли установить это условие в установщике WiX и как-то передать его в модуль слияния?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2010

Вы можете установить свойства установщика в модулях слияния, используя этот формат:

<property_name>.<module_GUID>

Например:

CONDITION_PROPERTY.32D73316_E513_43C3_99F5_381A4B5F0A78

В вашем установщике вы можете попробовать использовать настраиваемое действие для установки свойства, используемого в условии модуля слияния.

Элемент пользовательского действия может выглядеть следующим образом:

<CustomAction Id="SetMsmProperty" Return="check" Property="CONDITION_PROPERTY.32D73316_E513_43C3_99F5_381A4B5F0A78" Value="myValue" />

Вы можете запланировать действие после InstallExecuteSequence -> AppSearch, поэтому вы можете добавить этот элемент InstallExecuteSequence:

<InstallExecuteSequence>
  <Custom Action="SetMsmProperty" After="AppSearch">NOT Installed</Custom>
</InstallExecuteSequence>

Подробнее о пользовательских действиях wix можно прочитать здесь:

0 голосов
/ 07 декабря 2010

Обычно я просто создаю подфункцию для создания точки изменения в установщике. Затем вы можете наложить на него условие функции, чтобы контролировать, будут ли установлены компоненты, введенные модулями слияния, или нет. Это намного проще, чем наложение условия на каждый компонент, и дает вам больше гибкости в том, хотите ли вы показать функцию «символы отладки» конечному пользователю или нет.

...