I have a .NET app that I produce several different versions - the exact same app but with different 'branding' (splash screen, name, etc.). I have all of those differences outside the main executable so they're picked up at runtime, however I can't do this with the program icon because it's baked into the .exe.
I'd like to avoid making lots of different projects just for the icon. Is there a way I can modify the icon for an already built .net exe? I have a feeling Ildasm.exe and Ilasm.exe might be handy here, but I'm not sure what to do with the disassembled bits to change the icon ready to feed it into Ilasm.
Should I just use a script that modifies the original project file to use a new icon and re-build the whole thing?
Or maybe I'm going about this entirely the wrong way, any suggestions would be appreciated.