Можно ли установить WixUiBannerBmp в wixlib?

В настоящее время я пытаюсь переместить WixVariables WixUIBannerBmp, WixUIDialogBmp и WixUILicenseRtf и соответствующие им двоичные файлы в библиотеку wixlib. К сожалению, при сборке он игнорирует их и использует значения по умолчанию.

Моя библиотека.wxs:

<Fragment>
    <WixVariable Id="WixUILicenseRtf" Value="licence.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="binaries/bannrbmp.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="binaries/dlgbmp.bmp" />
</Fragment>

где файлы rtf и bmp включены в проект wixlib, а пути указаны относительно файла Library.wxs.

У кого-нибудь есть идеи, почему это не работает?

Спасибо

1 ответ

Решение

Успел разобраться сам!:)

Во-первых, фрагмент не включается автоматически в основной Product.wxs, если на что-то явно не ссылаются. В этом случае я использую свойство ARPPRODUCTICON. Если у вас нет ничего, что вы можете использовать, вы можете просто добавить фиктивное свойство, которое никогда не будет использоваться.

Кроме того, пути к двоичным файлам будут неверными, так как путь будет относительно файла Product.wxs. Поэтому вам нужно использовать переменную Preprocessor для текущего пути проекта.

Product.wxs

<Wix>
    <PropertyRef Id="ARPPRODUCTICON" />
</Wix>

Library.wxs

<Fragment>

    <WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\adastra-licence.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)\Bitmaps\bannrbmp.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)\Bitmaps\dlgbmp.bmp" />

    <Property Id="ARPPRODUCTICON" Value="icon.ico" />
    <Icon Id="icon.ico" SourceFile="$(var.ProjectDir)/App.ico"/>

    <UIRef Id="WixUI_Common" />
</Fragment>
Другие вопросы по тегам