Двоичная запись в wixlib

Каждый из моих инсталляторов использует определенные временные exe и dll. В моем проекте WiX я могу поместить их в двоичную таблицу. Раз они доступны во всех проектах, возможно ли поместить их в wixlib? Какой будет синтаксис.

Я делаю что-то подобное со свойствами, используя атрибут PropertyRef. Нет соответствующего атрибута BinaryRef, чтобы сделать то же самое с таблицей Binary.

1 ответ

Решение

Нет соответствующего атрибута BinaryRef, чтобы сделать то же самое с таблицей Binary.

Для элементов, которые не имеют соответствующего элемента *Ref, вы можете использовать следующий обходной путь:

  • Создать пустой ComponentGroup элемент (действительный код WiX) во фрагменте.
  • Вставьте ComponentGroupRef элемент, где вы хотите сослаться на Fragment, Это тянет в целом содержание Fragmentне только ComponentGroup,

Пример:

<Fragment>
    <ComponentGroup Id="MyBinaries"/>
    <Binary Id="Binary1" SourceFile="Files\Binary1.xyz"/>
    <Binary Id="Binary2" SourceFile="Files\Binary2.xyz"/>
</Fragment>

Чтобы сослаться на MyBinaries из другого файла.wxs:

<Fragment>
    <ComponentGroup Id="SomeComponents">
        <ComponentGroupRef Id="MyBinaries"/>
    </ComponentGroup>
</Fragment>
Другие вопросы по тегам