A simple console program to add multiple icons to a .NET application. To learn more about why you might need this and for a more detailed description of the program see the blog post at http://einaregilsson.com/add-multiple-icons-to-a-dotnet-application/.
The program is licensed under the MIT license. It's heavily based on MIT licensed code from the great library ResourceLib, which I highly recommend and you can find at https://github.com/dblock/resourcelib. It also uses MIT licensed code from the Mono project (http://mono-project.com) for strong name signing.
The program takes three parameters. Below is the help output from the program to show you what it can do:
InsertIcons Copyright (C) 2012 Einar Egilsson
See http://einaregilsson.com/add-multiple-icons-to-a-dotnet-application/
for more information about this program and how to use it.
Usage: InsertIcons <assemblyfile> <icons> [<keyfile>]
<assemblyfile> A .NET assembly (or any PE file really) that you want
to add icons to.
<icons> The <icons> parameter can accept 4 different types
of arguments:
1. It can be a list of .ico files seperated by ;, e.g.
icon1.ico;icon2.ico;icon3.ico.
2. It can be a directory name, in which case all .ico
files in the directory will be added, in
alphabetical order.
3. It can be the name of a text file which contains a
list of icons to add to the assembly. The file
should simply have one .ico file path on each line.
4. It can be left out completely, in which case the
program reads filenames from the standard input
stream. This allows for filenames to be piped into
the program, e.g.
dir /b /s *.ico | InsertIcons myfile.exe
<keyfile> This parameter is optional. If it is included then the
assembly will be re-signed with a strong name after
inserting the icons.
Note that this should only be used to re-sign
assemblies that were signed before inserting icons
into them. If you pass in the <keyfile> parameter for
a file that was not signed before then the program
will exit with an error message.