Может ли Wixuibannerbmp быть установлен в Wixlib?
-
27-10-2019 - |
Вопрос
В настоящее время я пытаюсь переместить 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>