A while ago I noticed some .ico files actually came in "packs" that contained the same image in different sizes. I now need to create one of those packs (I have 10 different sizes). Do I need a specific software? Can it maybe be done online?
The GIMP's ICO export code can save multi-resolution icons. Here's a very nice tutorial for creating such ICO files in the GIMP.
Basically, what you do is create a bunch of different-sized layers containing the same image (or different images, if you like) at different resolutions, and then save the image with an
.ico suffix (or any suffix with "Microsoft Windows Icon (ICO)" selected as the file type), which will present you with a dialog containing additional options on how to save each layer into the final icon.
You can use a software that does it for you, or do it programatically in f.ex. Visual Studio.
Here is some software that can help you out:
You probably know the reason why it comes in different sizes, but to make the answer more complete: the reason is that the system will choose the best-fit size for its current usage, ie. being displayed as an icon in a window title bar versus on the desktop etc.
Knowing this and for what purpose the icon will be used can assist you in only choosing the sizes needed and hence make the ico file less in size.