【问题标题】:Wix UIMinimal dialogue not showing imageWix UIMinimal 对话不显示图像
【发布时间】:2019-03-21 10:47:43
【问题描述】:

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

    <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

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

如果您将其全部滚动并取消选择,它将显示所有许可协议,但仅在这样做之后,而不是在最初启动安装程序时。每次启动安装程序时,它都会显示一个白屏,您必须进行选择或滚动才能显示文本。

Windows 7

横幅根本不显示,许可协议也根本不显示!

但是,在选择许可协议上的文本后,至少会显示许可协议,但仍然出乎意料(它应该默认显示,而不是在您选择/滚动后显示)

图片/文字有什么问题吗?我刚刚使用许可协议创建了一个普通的 rtf 文件。并且图像是 png,我假设 Wix 将其转换/调整为正确的格式

更新:

通过使用写字板保存 rtf 解决了许可证问题

【问题讨论】:

    标签: c# visual-studio wix


    【解决方案1】:

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

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

    图片方面,微星位图控件只支持BMP和JPEG文件,从Windows 8开始支持PNG,据MSI bitmap control

    【讨论】:

    • 谢谢,这解决了一半的问题,对话框中的图像仍然损坏:(
    • @gbdavid 它是否适用于默认图像?尝试使用 bmp 而不是 png 并检查图像的确切尺寸
    • 默认图像没问题,png图像在Windows 10中很好......它只在窗口7中中断:(
    • @gbdavid 看看这个thread 和这个documentation 好像从Windows 8 开始支持PNG。我会更新我的答案
    • 谢谢帕维尔,是的,转换为 BMP 可以解决 Windows 7 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多