Archive: Win9x shows ugly icons for some installers


Win9x shows ugly icons for some installers
I've noticed that since I upgraded to NSIS 2.36 my installers now use icons with an ugly black edge on Win9x and Win2K systems (but on WinXP and Vista the icons look OK).

At first I thought there was a problem with my icons but I found that I could recreate the problem by inserting the following line into the VersionInfo.nsi example shipped with the NSIS compiler:

Icon "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"

Working back through my collection of nightly builds I found that the problem appears to have been introduced between NSIS 2.31 and 2.32.

The nsis-01-Oct-2007.cvs compiler generates an installer with an icon that looks the same on Win9x and Vista systems but the nsis-05-Oct-2007.cvs compiler generates an installer which looks ugly on Win9x systems (and I've had reports that Win2K systems also show the ugly version of the icon).

This screenshot shows the results seen on my Win98SE system after compiling the same source file (with the same icon file) using these two nightly builds. The screenshot also shows the basic icon for comparison.

On Vista both installers look like the orange-install.ico shown in the screenshot.

Normally only icons with just 32bit images look like that. In 2.32 the icon handling was changed to support PNG icons, maybe that introduced a bug (maybe the icons image order changes or something like that)


I have noticed this too. But I always thought the the actual icon files were changed.

I did a little digging and compared the icons in the installer with Resource Hacker and if the icon image order matters anything that's definitely changed...


I did a little digging and compared the icons in the installer with Resource Hacker and if the icon image order matters anything that's definitely changed...
You beat me to it! I have just found the same thing.

Perhaps Win9x and Win2K expect the icons to be listed in increasing order of size? This would explain the strange effect on those systems for installers built using NSIS 2.32 or later.

If I remember correctly, the Windows XP type icons (with alpha channel) that are not supported by Windows 9x should come after the other icons. This is probably correct in the icon files, but the compiler somehow reverses the order.


I have 2GB of compiled installers saying this is fixed for 2.37. It will now use the original icon file order for both the installer and the uninstaller unlike the old versions that only made this possible for the installer icon.