I think that there's a bit of a language barrier but I'm afraid that it's not completely clear what you want. My best guess is that you are currently retrieving data from the Windows Registry and, due to some software upgrades, the location of that data is about to change, so you want a way to be able to handle that in future without recompiling your own application.
Assuming that is the case, the simple fact is that, if you need data from other applications and they store that data in the Registry, you have no choice but to read that data from the Registry. The thing is, a Registry key name or value name is just a String, so they can come from anywhere a String can come from. It's very easy to store text in an external file and then read it into a String at run time.
The logical solution would seem to be that you leave your code basically as it is now but, instead of literal Strings for the Registry key and value names, you add some String settings to your app and read their contents from My.Settings at run time. Application settings are stored in the config file so, if those locations should change in the future, you can simply edit the config file, which is XML. That editing could be done by hand or by a Console application that you create specifically for the purpose.