Wix UI最小对话不显示图像

时间:2019-03-21 10:47:44

标签: c# visual-studio wix installshield .net-4.7.2

我对自定义横幅/对话框图像和许可证文本进行了以下设置:

    <UI>
      <Publish Dialog="ExitDialog"
        Control="Finish" 
        Event="DoAction" 
        Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1</Publish>
      <UIRef Id="WixUI_Minimal" />
    </UI>
    
    <WixVariable Id="WixUILicenseRtf" Value="LicenseAgreement.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="My banner.png" />
    <WixVariable Id="WixUIDialogBmp" Value="My dialog.png" />

我看到Windows 7和Windows 10安装程序都发生奇怪的行为:

Windows 10

横幅和对话框显示确定(正确的图像是左侧为黑色,右侧为白色的背景图像),但是许可协议的行为异常。如第一张图片所示,许可协议只是一个空白,但是如果您尝试在其上方进行选择,则会显示文本(第二张图片)

enter image description here

enter image description here

如果在其上滚动并取消选择它,则将显示所有许可协议均正常,但仅在执行此操作后才显示,而在最初启动安装程序时不会显示。每次启动安装程序时,安装程​​序都会显示白屏,您必须进行选择或滚动才能显示文本。

Windows 7

横幅完全不显示,许可协议也完全不显示!

enter image description here

但是,在选择许可协议上的文字之后,至少会显示许可协议,但这仍然是意外的(默认情况下应该显示,而不是在您选择/滚动后才显示)

enter image description here

enter image description here

图像/文字有问题吗?我只是使用许可协议创建了一个普通的rtf文件。图像是png,我认为Wix会将其转换/调整为正确的格式

更新:

使用写字板保存rtf可以解决许可问题

1 个答案:

答案 0 :(得分:1)

似乎,富文本控件和您的许可证存在一个已知问题。根据他们的documentation,在大多数情况下,以下解决方法之一将解决此问题:

  • 在写字板中打开您的RTF文件,然后从那里保存它,以便 从文件中删除复杂的RTF内容。保存后, 重建您的MSI。
  • 使用除WixUI_Minimal设置以外的对话框设置。这个问题 通常仅在许可协议屏幕为 第一个显示在设置过程中,只有在
    WixUI_Minimal对话框集。

对于图像,根据documentation

,MSI位图控件仅支持BMP和JPEG文件,从Windows 8开始支持PNG。