Is there any software that can monitor and undo all registry changes automatically?
It would be better if there is an option to monitor all changes or changes made by a specific process.
I have used Total Uninstall, that program still exists, for Windows XP and 7 and so on.. and looks like it'd do about the same as it did then.
Any uninstaller program might do it, but I remember Total Uninstall as being a great program years ago like in the windows 98 days. There was also a program called In Control from PC Magazine..but didn't offer undo/redo. There's Sysinternals Process Monitor which takes over sysinternals regmon, which also doesn't offer undo/redo. But Total Uninstall actually lets you undo or redo, and did it without any baggage in the GUI too. I'd give it a try.
When it comes to monitoring and undoing both, SpyMe Tools will be great. To detect Registry changes it creates Dumps of the actual states of Registry. This means that at any time you can open the Dump file and view the contents of the Registry just as they were when you've scanned the Registry. The program can compare two different dump files so you'll see exactly what changed in the Registry between the two scans.
If you are interested in 100% clean un-installation of softwares, use Revo Uninstaller Pro. It monitors every activity of an installer at the time of installation. It undoes these changes at the time of uninstallation. It works great. But, as a limitation of any uninstaller, you can undo only those registry changes which are tied with an installation and you'll need to uninstall a software to undo any registry changes did by it. So, I'm recommending SpyMe Tools again.