Можно ли установить 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>