windowswindows-installericonshighdpi

How to create a high quality icon for my Windows application?


If you are running Windows with a higher DPI setting you will notice that most application icons on the desktop look terrible. Even some high profile application icons such as Google Chrome look terrible while Firefox, Skype and MS Office icons look sharp:

super crisp icon next to a friggin blurry one

(example)

I suspect that most icons look blurry because a lower resolution icon is scaled up rather than using a higher resolution icon.

I want to give my application a high quality icon and can't seem to convince Windows to use the higher resolution icon. I have created a multi-resolution icon with the icon editor IcoFX. The icon is provided in 16x16, 24x24, 32x32,48x48, 128x128 and 256x256 (!) (all in 32 bit including alpha channel) yet Windows seems to use the 48x48 version of the icon on the desktop and scale it up which looks terrible. (I am using Windows 7 - 64 bit - the icon is placed by means of setting up a shortcut in the msi (created via Visual Studio 2008 Setup Project) and pointing it to the .ico file that contains the multi-resolution icon)

I have tried removing the 128x128 icon but to no avail. Interestingly in Windows Explorer the icon looks great even when using the Extra Large Icon setting. How can I create a high quality desktop icon that looks great on higher DPI settings on Windows?

EDIT: I tested removing the 128x128 option, then both the 48x48 and 128x128 option and tried Axialis IconWorkshop to create the icon - nothing worked.

EDIT: After much trial and error I think the real problem here is the Visual Studio 2008 Setup Project - manually setting up a link to my executable correctly uses the high resolution icon, however the link that is created by the setup doesn't use the correct icon. When setting the icon for the link in the editor it only gives me one option (index 0) which seems to be the 48x48 icon. I have tried manually adjusting the IconIndex in the .vdproj but had no luck.


Solution

  • Thanks for all the suggestions!

    After much trial and error the real problem here seems to be the Visual Studio 2008 Setup Project - manually setting up a link to my executable correctly uses the high resolution icon, however the link that is created by the setup doesn't use the correct icon. When setting the icon for the link in the editor it only gives me one option (index 0) which seems to be the 48x48 icon. I have tried manually adjusting the IconIndex in the .vdproj but had no luck. It seems that Visual Studio Setup Project does not support adding a link using a high quality icon.

    EDIT: I can now confirm this problem. Once I moved to WiX to create the installer the link used the correct high quality icon.