Вопрос

В настоящее время я пытаюсь переместить Wixuibannerbmp, Wixuidialogbmp и Wixuilicensertf Wixvariables и их соответствующие двоичные файлы в 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.

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

Спасибо

Это было полезно?

Решение

Сумел разобраться с этим сам! :)

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

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

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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top