Mikhail said:
How can I update resources in exe assembly?
I need to update binary resources and .resx resource which contains
some string objects.
Its not straightforward and the biggest issue is code signing. If your
assembly has a strong name (it has been signed) then you cannot change the
resources (linked or embedded) without resigning the assembly. If you merely
change the resource then the .NET assemblyy loader will refuse to load the
changed assembly because its hash does not reflect the hash created when it
was signed. There is an example in the .NET SDK called tlbgen that shows you
how to re-sign an assembly.
If the assembly is not signed then you can change a linked resource because
no check is made on its veracity, however, if you want to change an embedded
resource you will have to create a new assembly. Unfortunately I don't know
an easy way to do that because .NET embedded resources are part of the
metadata for the assembly. It should be possible since obsfuscators change
metadata (and other stuff in assemblies).
Richard