0

I've seen how to use registry string redirection to enable MUI support, even on Stack Overflow. For example, you can add a redirected string value named DisplayName_Localized to the registry to localize your program's entry in the ARP UI.

Example: @%ProgramFiles%\MyProduct\MyResources.dll,-12345

Unfortunately, everything I can find talks about using the string's resource id to identify which string resource to use. This applies in an unmanaged resource dll. I have several resource dll's that are managed, built with the .Net Framework. The issue is that I don't see a way to get a string's id, or if there even is an integer id since the strings are identified by string names in their associated resx files.

Is it possible to enable MUI support in this way, from the registry, with a managed resource dll?

Machavity
  • 30,841
  • 27
  • 92
  • 100
tdlamey
  • 61
  • 6
  • Why do you want to use the registry? Do the standard .NET localization mechanisms not fulfill your requirements? – Phil Jollans Feb 21 '16 at 07:19
  • MUI only works on *unmanaged* resources. You create them from a text file with the rc.exe utility. And embed them into your DLL with Project > Properties > Application tab, Resource file radio button. Hard to get right since you now also need to take care of the unmanaged resources that the C# compiler generates. At least the version and the manifest. Much easier to generate the DLL from a C++ project. – Hans Passant Feb 21 '16 at 11:34

1 Answers1

0

The link you gave Using Registry String Redirection indicates

Note This topic pertains only to Win32 PE resources. If using non-Win32 PE resources, you must provide customized registry string redirection, if required.

As I understand it, this mechanism does not support managed resource files, built with the .NET framework. You will have to use a different mechanism.

Phil Jollans
  • 3,605
  • 2
  • 37
  • 50