Externalize .rsrc section from PE file so that it point an external .ico file ?

Hi, I’ve got my application EXE file, and I wish to create many version of this file, each one with a different icon.
However, I wish to sign the file one time instead of creating many versions of this file, each one signed with a different embedded icon.

so I was wondering if there’s a way to somehow externalize the .rsrc section from the pe file, so it’s not be part of the signature.

Perhaps do you know of a way to specify an external path of a valid .ico file anywhere in the PE file ? maybe there’s an API for this ?

I’ve read the documentation of the manifest embedded xml inside the .rsrc, but couldn’t find and configuration do so …

ResourceHacker.exe and other helper tools only works on embedding the icon… but perhaps there’s some undocumented way making the .rsrc point an external icon file.

thanks !

This is off-topic for this mailing list, which is targeted at driver coding.

It is quite common to have DLLs that are “resources only”. It’s commonly used for internationalization, where you have one external DLL for each language, but you can certainly do it for icons. However, that won’t help with the desktop icon. That has to come from the resources embedded in the EXE.

Oh, I’m sorry for asking non-related issues… I hasn’t notice… is there a group on this site that deals with user-space ?

As for your response, I just want to make sure I understood if it’s ok… I should use some tool like resourceHacker in order to embed all possible icons inside my per-language dll and load it on run time according to the preferred icon according to it’s matching index ? do you know what API can i use for loading icon during runtime to taskbar (i don’t mind about the desktop icon)?

is there a group on this site that deals with user-space ?

No. Sorry. The reason is most of us here don’t actually know anything about user space.

As for your question: Google “Resource only DLL” and all should be made clear. Just create the DLL, LoadLibrary that DLL, and load whatever icon you want.

Peter