Oliver said:
You'll have to
use the API function RegCopyTree to make a copy of the key in question,
complete with children, then delete the original key.
I just found that this API function is apparently very new, docs at MS
say it's only available in Longhorn. I didn't notice that before because
I didn't assume there would be registry API functions that are actually
only introduced in Longhorn.
So, the alternative approch should be to create a new key, iterate
recursively through the source key and its children and copy them over
to the new key. Finally, delete the old key. The advantage is that you
should be able to do that with the normal managed registry wrappers that
the .NET SDK provides.
Oliver Sturm