Re: "damaged registry keys"
I could think of a number of ways to make the register 'repairable':
1) An automatic backup of the registry before each time the registry is changed by something or someone.
I don't know how often the windows registry is changed during normal operations, but I figure if the backup is compressed, there should be room for the last 100, 200, maybe 300 statuses of it.
That way one could go back to the version/status of 'WHEN IT STILL WORKED'.
( Aside: I sure miss a piece of smart software called GOBACK, which essentially was an 'ongoing instant backup & record of every file change, file lock, permissions change, access to registry, etc.'
It worked so well that it got bought out by SYMANTEC, and soon after that it was basically destroyed by Symantec. Sort of the same experience as with NORTON ANTIVIRUS, which went bad after
SYMANTEC bought it. Merely anecdotal evidence. Never mind.)
2) Another option would be (or would have been) to have every program write a backup of 'all their windows registry data' to some backup directory within its own directory structure, something called
WINREGBAC or similar.
THEN, whenever something crazy happened to the Windows Registry, by design, by crash dummy attacks, by bad write, bad read, unusable sector rock-pile, one could rebuild the Windows Registry
with a utility that asks you to choose, item by item, which WINREGBAC of which program should be included in the rebuild.
Surely Microsoft would want to co-operate and provide a "skeleton Windows registry file with all the MSFT essential items in there" so that one could be back in business within half an hour. Because
taking three days of re-installing 30 to 50 different programs, and the related data, is a complete waste of time. Wouldn't auntie Microsoft and uncle Saytan Nutella want to please their customers?
3) Yes, by now you realize that these ideas came to me under the influence of several legally available and/or prescription drugs, which cause me to dream only REASONABLY HAPPY thoughts.
You can still tell me how wrong I am, and why I am wrong. No problem, without errors, there is no progress, and I haven't always been wrong.