6
votes

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.

3
Thank you all for your help. I've cleaned my icon cache and restarted my workstation and the results remain the same. I can also reproduce these results on other workstations in our test lab running XP, Vista, and Windows 7. The problem appears to be that Windows Explorer renders an exe' icon differently than it does the raw icon. I can't find anything on the internet to validate this theory, but this is exactly what I'm seeing across multiple PCs and OS's.Malcolm

3 Answers

2
votes

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

3
votes

Use iConvert, it's free and online. You upload a large 512x512 PNG, it gives you an ICO that works the way it should, with multiple embedded images in different sizes. It also gives you ICNS and HQX files for Mac.

Works great under Win7/Vista/XP for my applications. It takes the pain away from making proper ICO files by hand. As you've discovered, it's easy to mess something up.

-1
votes

Have a look at IcoFx which may give you the smoother icons when you design them, there's support for alpha-transparency also...