Is there a way to recover registry entries that were deleted using RegDeleteKey?
[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 Re开发者_运维知识库store 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!!!
At least it was HKEY_CURRENT_USER.
If roaming profiles are enabled, grab it from the profile store.
If not, it's lost.
精彩评论