views:

31

answers:

1

[I am aware that this might actually better belong on superuser but I thought the programmer perspective might yield slightly better/faster results.]

I have just written a sleek new configuration framework for our apps and everything was working just great. There was only one function left to test and that was deleting a registry key (recursively). As everything else had been working exactly as expected I became inexcusably careless and made what was very probably a fatal mistake: I ran the test not step-by-step in the debugger but live...

Seems I made a mistake in the path handling and now everything below HKEY_CURRENT_USER\Software that wasn't locked or otherwise inaccessible at the time of the test is gone.

I used Delphi 2009's TRegistry.DeleteKey method which in turn recursively calls the RegDeleteKey API. Is there some way to undo this either programmatically or using utilities (preferably freeware)?

I am actually rather surprised the system is still running (I am writing this from that machine). I have not logged of or rebooted since this happened. I guess the entries are all cached in memory by the running applications. Can they maybe be brought back from there as well?

System Restore reports that no restore points have been created on this machine though I'm sure there were. Could this also be a symptom of the purged registry? Can this be overcome somehow?

This is on Windows 7 Enterprise (32bit).

HALP!!!

+2  A: 

At least it was HKEY_CURRENT_USER.

If roaming profiles are enabled, grab it from the profile store.

If not, it's lost.

Joshua