Search code examples
iconsexewindows-explorer

How does Windows decide which icon format to display when showing an exe's icon in Windows Explorer?


How does Windows decide which icon format to display when showing an exe's icon in Windows Explorer?

Problem: When we look at our icon file and exe with embedded icon file in various Windows Explorer file views, the icon file is displayed in a higher quality mode than the icon displayed for our executable even though the icon in our executable contains the exact same icon. Our exe's icon has jaggier edges which leads me to believe that Windows Explorer may be trying to upsize a lower resolution icon rather than picking an icon appropriate for the actual display size.

In a multi-format icon file, is there a specific order we should use for positioning each icon format?

For example, we have an icon file with icons in the following formats: - 16x16 - 32x32 - 48x48 - 64x64 - 128x128 - 256x256

We are testing the appearance of our exe's icon using Windows Explorer under Windows XP, Vista and Windows 7.

Any suggestions appreciated.


Solution

  • One troubleshooting method I would try is to remove all the different size formats from your icon file except one, say 32x32. Then, compare the .ico file display and the .exe file display. If they look different, you'll know it's not a problem with the exe picking the wrong format. If they do look the same, then you can start adding the formats back into your .ico file one at a time until the problem reappears.

    When I create icon files, I always have the formats added in order of largest to smallest, highest quality to lowest quality:

    256x256 32-bit
    96x96 32-bit
    48x48 32-bit
    32x32 32-bit
    16x16 32-bit
    48x48 8-bit
    32x32 8-bit
    16x16 8-bit