Question

I'm making a custom dialog in my Wix instalation. My code:

  <Binary Id="BannerBitmap" SourceFile="banner.bmp" />

  <Dialog Id="InstallDlg" Width="370" Height="270"
      Title="[ProductName] Setup" NoMinimize="yes">
    <Control Id="Install" Type="PushButton" X="304" Y="243" Width="56"
        Height="17" Default="yes" Text="[ButtonText_Install]">
      <Publish Event="EndDialog" Value="Return" />
    </Control>
    <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="370" Height="44"
        TabSkip="no" Text="BannerBitmap" />
    <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15"
        Transparent="yes" NoPrefix="yes">
      <Text>The [Wizard] is ready to begin the installation</Text>
    </Control>
    <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="20">
      <Text>Click Install to begin the installation.</Text>
    </Control>
    <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
    <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
      <Text>{\DlgTitleFont}Ready to Install</Text>
    </Control>
    <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
  </Dialog>

The problem is, like you can see in code my banner have a witdh = 370 and height = 44, but when my dialog is displayed the banner is shown with width = 493 and height = 58.

It may seem that this is not a serious problem, but the image is presented as stretch mode and became very distorted.

Does anyone know why this might be happening or how to fix?

obs: my command line to light:

light.exe -sice:ICE20 SampleCustomUI1.wixobj
Was it helpful?

Solution

Windows Installer uses "Installer Units" not pixels or even Windows "dialog units". This allows dialog elements to be scaled relative to the text they might contain. You can calculate your ideal size but realize that the bitmap will be scaled if needed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top