Archive: Icon Limit. Why?


Icon Limit. Why?
I was just wondering why the install and uninstall icons have to be the same size and build? Can you change this?


The installer generates the uninstaller. It would be a bit of a waste of space to include a resource editor in the installer, so it just overwrites the icon data.


i have been able to solve this by
heading to the main Configuration files and changing the
Default ICON

for some reason in there programming they
have made it so that the first install and the 2nd uninstall icon have to be the same SIZE.......

wierd :(

They don't need to include a editor or anything but
only need to lift the restriction of matching icons :)
and that's done in the programming :)

"I think someone would have to see a need for it I guess
and that would depend on the programmers"

It's easier then you might think.


I do know where I am talking about.

If the installer generates the uninstaller it replaces the icon data.

To support different installer/uninstaller icon sizes the installer would have to include a resource data editor (which would waste a lot of space).

Usually people have the same icons formats for similar icons.

To change icons you don't have to modify anything, just use the icon settings in your script.


Try that with the Modern UI
Because when i tried using differn't icons
event the ones supported in the program
if it wasn't the same size the compile would fail on it

but when I changed the Modernui File
Located at C:\Program Files\NSIS\Contrib\Modern UI
at lines 105 and 106
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\llama-blue.ico"
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\llama-grey.ico"

If they don't match they fail
the Defualt if I remember right was
modern-install.ico
and if I tried to replace it with
modern-install-blue.ico it would work because they are both 14k and then when I tried to do it with
modern-install-blue-full.ico
or any other file that had the same color pallete and the same colors or close to it
I could not use them unless they matched the Defualt mentioned ICO referance :(


witch is more inportant the space
or the Users functionality ?

That's not like saying who's right
the Programmer or the customer either lol


You are really making things too difficult. You don't have to hack any Modern UI files to change the icons. You only have to define MUI_ICON and MUI_UNICON.

Your icons don't have to match the default icons, the only requirement is that your installer and uninstaller icons have the same image formats. That should not be a big problem, because almost everyone ones the same icon format for two similar things.

It's not about the size of the compiler, it's about the size of generated installers. It's about your customers who have to download or store your installers.

Including a resource data editor in the installer executable would really be a waste of space.


Try it go to
Located at C:\Program Files\NSIS\Contrib\Modern UI
at lines 105 and 106
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\llama-blue.ico"
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\llama-grey.ico"

and change once of those icons
to like any of the other icons that are not 3k

using Nsis 2.0 R3
Try this one an compile and see what happens
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\llama-blue.ico"
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-colorful.ico"


You don't seem to get my point. I'm explaining you why there is this restriction and why it should not be a problem.

Again: You don't have to change Modern UI files to change icons, just define MUI_ICON and MUI_UNICON.


Oh i forgot to tell you I did try that already and that's what braught me to hacking the files in the first place :):up:

Make it look like this
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\llama-blue.ico"
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-colorful.ico"

and you will get this error
Error finding icon resources: number of icons doesn't match -- failing!
Error - aborting creation process

or can use the Thing you mentioned and name them that and compile and see what happens you will get the same error :(

the Only way i have been able to get around this is go back to the Original files and edit them .


my dear. he said:
DEFINE them, not insert macros, that dont exist!
u should use these commands:

!define MUI_ICON "installer.ico"
!define MUI_UNICON "uninstaller.ico"

that's working for me, and, believe me, i know too what i'm talking about.

I did define them in the install
but when ever I had 2 icons of differn't sizes
the compiler would error

Only when I went into the main configuration files and changed the insert macro Default icon is when it changed for me

if i changed the default icon size i could then define
in the install script any icon of that same size
and that would work as long as i defined 2
of the same size icons that matched the size of
"The Icon Mentioned in the main Configuration file"
that's what I have found :(

But then again it may be because of the Operatig system
or other programs running that could interfere with
Nsis ?


Please read what I posted at least 5 times.

You can not use two icons of a different size. That is just how it works, because the installer has to overwrite the icon data when generating the uninstaller.

Whether you set it in your script or do anything else, that makes no difference.

It has nothing to with operating systems or other applications.


You said it overwrites it so shouldn't it be able to have an icon that is bigger than the install icon becuase its overwriting it?


where's the problem? if you want your installer to have a 4 color icon, but your uninstaller to have a 16 million color icon, just save the 4 color icon in 24bit. really no big deal.


Thanx we were trying to figure out what was wrong with the icons was it the default size and such

but I was hoping it did go by a pallete

we needed someone that knew the real information
of why we were getting conflicts with difern't icons
thank you.

so 24 bit icons don't have conflicts with all the other stuff ? if that's true man thax I've been waiting to
here some more cool stuff :)
and that's cool.:weird:


same palettes, same sizes (if one icon is available in 16x16 and 32x32 the other must come in the same sizes)


Originally posted by Shea
You said it overwrites it so shouldn't it be able to have an icon that is bigger than the install icon becuase its overwriting it?
It's the resource data structure. It the icons size would be different the installer would have to update that whole structure.

forgive me if i'm wrong but couldn't you just use the same icon for both the installer and uninstaller, then use a resource editor to change the icon for the installer?


That won't make a difference. The installer does not include the whole uninstaller exectutable (that saves size), it generates it based on itself.


You can't. If you change the icon with ResHack or something the installer fails.


With the right programming anything can be done.
Quote By rainmanx aka rainmanp7 aka Chris

Ya put the right driver behinde the wheel and you will get
stuff done ,but if you put just anyone behinde the wheel
who knows what will happen or if you will ever get there.

We wouldn't give you crap unless we loved ya.
We give ya crap and test ya because we are trying to get you to do somthing and we care about it and we want you to care about us and our needs ?:cry:

I never had so much fun with a installer.

How did this come down to 1 itty bitty icon ?
If windows allows for many colored icons and uninstaller icons and alot of other installers allow for this can we not have the same functionality ?

Can we vote on this ?:eek: :igor:


No.