Bug 138841 - Windows installer display tiny icon under high resolution
Summary: Windows installer display tiny icon under high resolution
Status: ASSIGNED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: x86-64 (AMD64) Windows (All)
: medium trivial
Assignee: Jakub Kościelak
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Installer-Windows
  Show dependency treegraph
 
Reported: 2020-12-12 06:31 UTC by Chaoting Liu
Modified: 2026-01-02 18:54 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
the bugged screenshot (201.15 KB, image/jpeg)
2020-12-12 06:32 UTC, Chaoting Liu
Details
LO7.0.3.1 1080p zoom@100% (42.71 KB, image/png)
2020-12-13 02:58 UTC, Chaoting Liu
Details
LO 6.4.4.2 @4K zoom 125% (201.15 KB, image/jpeg)
2020-12-13 03:00 UTC, Chaoting Liu
Details
175% vs 100% (119.62 KB, image/png)
2020-12-13 07:48 UTC, Mike Kaganski
Details
175%, 150%, 125%, and 100% in Full HD. (122.57 KB, image/png)
2025-12-29 22:13 UTC, Jakub Kościelak
Details
250%, 225%, and 200% in 2560x1600. (226.89 KB, image/png)
2025-12-29 22:14 UTC, Jakub Kościelak
Details
400% in 2560x1600. (523.20 KB, image/png)
2025-12-29 22:14 UTC, Jakub Kościelak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chaoting Liu 2020-12-12 06:31:28 UTC
Description:
Check the screenshot attached[0], the icons on the left side, indicating whether a standard or customized installation should be performed.

Noticed that even though the screenshot is about 6.4.4.2, it does happen on 7.0.3.1 aka. latest fresh release.

Yes, the installation goes fine, but it is just a small glitch.

Steps to Reproduce:
1. Download windows installer from official site
2. Open installer
3. Check the page asking for which kind of installation user wants to perform.

Actual Results:
Icons are tiny under 4K resolution.

Expected Results:
Should be the same relational size in the window as under 1080p or lower.


Reproducible: Always


User Profile Reset: Yes


OpenGL enabled: Yes

Additional Info:
Sorry, I'm afk from the Windows box, will update it asap.
Comment 1 Chaoting Liu 2020-12-12 06:32:33 UTC
Created attachment 168086 [details]
the bugged screenshot
Comment 2 V Stuart Foote 2020-12-12 15:44:23 UTC
Roman, Mike, * can the MSI itself be made dpi aware?
Comment 3 Mike Kaganski 2020-12-12 17:03:38 UTC
(In reply to V Stuart Foote from comment #2)
> Roman, Mike, * can the MSI itself be made dpi aware?

MSI *is* DPI-aware. And all its dimensions are, in fact, in special units related to a font size scaled to the screen resolution [1].

It is obvious that our installer does follow the resolution properly on the screenshot, if you look at the top banner with "6".

The problem here seems to be because of using ICO images for these specific problematic places (and Icon type in Control.idt), not BMP (and Bitmap type).

The Icon type [2] has some bits that might be related, namely FixedSize and IconSize, and maybe we can just modify those, and not change the type.

[1] https://docs.microsoft.com/en-us/windows/win32/msi/installer-units
[2] https://docs.microsoft.com/en-us/windows/win32/msi/icon-control
Comment 4 Roman Kuznetsov 2020-12-12 18:15:15 UTC
(In reply to Mike Kaganski from comment #3)
> (In reply to V Stuart Foote from comment #2)
> > Roman, Mike, * can the MSI itself be made dpi aware?
> 
> MSI *is* DPI-aware. And all its dimensions are, in fact, in special units
> related to a font size scaled to the screen resolution [1].
> 
> It is obvious that our installer does follow the resolution properly on the
> screenshot, if you look at the top banner with "6".
> 
> The problem here seems to be because of using ICO images for these specific
> problematic places (and Icon type in Control.idt), not BMP (and Bitmap type).
> 
> The Icon type [2] has some bits that might be related, namely FixedSize and
> IconSize, and maybe we can just modify those, and not change the type.
> 
> [1] https://docs.microsoft.com/en-us/windows/win32/msi/installer-units
> [2] https://docs.microsoft.com/en-us/windows/win32/msi/icon-control

I think we could rework all icons into bmp format instead .ico and then use Bitmap type instead Icon type in configure files.
From another side we already have all icons in SVG format in https://opengrok.libreoffice.org/xref/core/instsetoo_native/inc_common/windows/msi_templates/Binary/ but I'm not sure MSI installer can use SVG directly inside

Rizal, can you add icons in BMP format from existing SVG files in address above?
Comment 5 Mike Kaganski 2020-12-12 18:19:41 UTC
(In reply to Roman Kuznetsov from comment #4)

MSI does not support SVGs.
I would not be so sure before evaluating. In theory, ICO has a potential advantage of supporting *several* resolutions in a single file; and it *possibly* could allow us to have it automatically choose proper resolution icon for each screen resolution - without the ugly stretching, having pixel-perfect result. But that needs investigation.
Comment 6 Rizal Muttaqin 2020-12-12 22:11:26 UTC
(In reply to Roman Kuznetsov from comment #4)

> Rizal, can you add icons in BMP format from existing SVG files in address
> above?

If the icons are fine with current latest stable (7.0.3.1) release, so why we need to change current situation?
Comment 7 Chaoting Liu 2020-12-13 02:57:28 UTC
No, it isn't fine under 7.0.3.1 under 4K resolution.

I'd attach another "normal" screenshot under 1080p
Comment 8 Chaoting Liu 2020-12-13 02:58:46 UTC
Created attachment 168120 [details]
LO7.0.3.1 1080p zoom@100%
Comment 9 Chaoting Liu 2020-12-13 03:00:30 UTC
Created attachment 168121 [details]
LO 6.4.4.2 @4K zoom 125%
Comment 10 Rizal Muttaqin 2020-12-13 03:12:35 UTC
(In reply to Chaoting Liu from comment #8)
> Created attachment 168120 [details]
> LO7.0.3.1 1080p zoom@100%

I can not see any problem here
Comment 11 Chaoting Liu 2020-12-13 03:19:10 UTC
> I can not see any problem here

Yeah, the 1080p screenshot demonstrated the somehow "pixel perfect" UI.

While, the 4K screenshot is where this "bug" lies.

I still cannot reach that 4K monitor in this near few days.

So I'd ask in humble that if someone can give me some "yes, I can reproduce that on my 7.0.3.1 with resolution higher than 1080p!"
Comment 12 Mike Kaganski 2020-12-13 07:48:15 UTC
Created attachment 168125 [details]
175% vs 100%

Very easy to repro without any special screens.

Windows Settings->System->Display->Scale and Layout->change it from 100% to another value, and restart installer.

Attached is side-by-side screenshot of the dialog on 175% scaling vs. 100%. It's apparent that dialog itself, fonts, radio buttons, and top banner have scaled accordingly; while the icons stay as they were (they keep the same pixel size, not relative size).
Comment 13 V Stuart Foote 2020-12-13 14:30:31 UTC
(In reply to Rizal Muttaqin from comment #10)
> 
> I can not see any problem here

The .ico are not scaled with the rest of the installer dialog, so they appear under sized.  Providing as .BMP would scale, like the other graphics.

Alternatively, the .ico can contain values for rendering at multiple scales as pointed out comment 3.
Comment 14 Roman Kuznetsov 2021-03-08 21:09:57 UTC
Unassigned myself.

I created icon files with different resolution from 16x16 to 128x128, but I didn't found an info about icon scale handling in MSI.
Comment 15 QA Administrators 2023-03-09 03:26:29 UTC Comment hidden (obsolete)
Comment 16 QA Administrators 2025-03-09 03:10:59 UTC Comment hidden (obsolete)
Comment 17 Jakub Kościelak 2025-12-29 22:13:20 UTC
Created attachment 204855 [details]
175%, 150%, 125%, and 100% in Full HD.

175%, 150%, 125%, and 100% in Full HD.
Comment 18 Jakub Kościelak 2025-12-29 22:14:11 UTC
Created attachment 204856 [details]
250%, 225%, and 200% in 2560x1600.

250%, 225%, and 200% in 2560x1600.
Comment 19 Jakub Kościelak 2025-12-29 22:14:56 UTC
Created attachment 204857 [details]
400% in 2560x1600.

400% in 2560x1600.
Comment 20 Jakub Kościelak 2025-12-29 22:17:25 UTC
Currently, we're using 32x32 icons displayed in a 24x24 control.
Control.idt:
Width Height Attributes
24 24 5242881
Attributes 5242881 = 1(Visible) + 4194304(IconSize 32x32) + 1048576(FixedSize enabled)
With these settings, these icons will always be 24x24 and won't be scaled (except for scaling the icon from 32 to 24 to fit the control).

MSI is outdated in terms of .ico file support; the maximum size that can be set is 48x48 pixels.

However, we can use a little trick. I disabled FixedSize and created 128x128 .ico files based on the .svg files and used 32x32 controls.

Width Height Attributes
32 32 4194305
Attributes 4194305 = 1(Visible) + 4194304(IconSize 32x32) + 0(FixedSize disabled)
With these settings, these icons will be 32x32 at 100% scale, but will scale, for example, to 64x64 at 200% scale. There will be no stretching or pixelation because it will start at 128x128 and scale down.
Only after scaling exceeds 400% (4x32 = 128), i.e., for screens larger than 8K, will the size stretch beyond 128x128 begin.

We can use 256x256 icons right away and be 16K ready ;-)

I've attached screenshots from the installer at 175%, 150%, 125%, and 100% at Full HD.
250%, 225%, and 200% at 2560x1600.
400% at 2560x1600.
It looks nice.
I'd be happy to prepare a small patch.