Как добавить фоновое изображение в пользовательский диалог MSI? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть пользовательский диалог MSI в моем wxs файле:

<Dialog Id="OpDialog" Width="300" Height="250" Title="[ProductName]: Operations">
    ...
</Dialog>

Как мне установить его фон для некоторого файла изображения (bmp / ​​png /...)?

1 Ответ

0 голосов
/ 19 сентября 2019

Быстрая ссылка : горячая ссылка (прямая ссылка) одной страницы из собственного руководства WiX (также проверьте другие страницы): https://www.firegiant.com/wix/tutorial/user-interface-revisited/tuning-up/

Пример загрузки разметки WiX: SampleCustomUI

Не уверен, как все это ведет себя на экранах с высоким DPI.


Общий трюк : Инструмент WiX dark.exe может декомпилировать файл MSI (dark.exe -x Output File.msi).Вы можете использовать декомпилированные файлы, чтобы выяснить синтаксис, который плохо документирован.Я декомпилировал MSI и объединил его с примерами, с которыми я связан, вы можете попробовать что-то вроде этого (это не показывает, как вставить диалог в последовательность, и я не уверен, что все конструкции хороши, но он компилируется нормально):

<!--<Binary Id="bannerbmp" SourceFile="Banner.bmp" />-->
<Binary Id="imagebmp" SourceFile="Image.bmp" />

<!--<Property Id="BannerBitmap">bannerbmp</Property>-->
<Property Id="ImageBitmap">imagebmp</Property>

<Dialog Id="ServerDlg" Width="370" Height="270" Title="Dialog Title">
  <!--<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />-->
  <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" TabSkip="yes" Disabled="yes" Text="[ImageBitmap]" />

  <..>

</Dialog>
  • Обратите внимание, что в приведенном выше отключен BannerBitmap (то есть вверху, проходящий через диалог), и весь диалог теперь покрыт основным изображением. ImageBitmap .
  • Вы можете легко включить баннер, если это то, что вы хотите использовать.Просто закомментируйте большое изображение и включите верхний баннер.
  • Выше не показывает правильную локализацию - если вы хотите использовать файлы локализации для перевода.
  • Выше было упрощено, я вынулзапись WixVariable, смотрите историю изменений, если вы хотите.

Документация : документация WiX по настройке графического интерфейса: https://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html

Учебное пособие : https://www.firegiant.com/wix/tutorial/user-interface-revisited/a-single-dialog/


Подробнее : Добавление ссылки на большее описание WiX GUI .Показаны различные приемы с WiX и MSI GUI.

Образцы : Может быть, некоторые практические образцы?

...