I have recently found out that Windows System Restore monitors a large list of file extensions and all are reverted or deleted when a system restore is executed. These extensions are in many cases associated to other programs and the recovery may result in inconsistency or data loss.
In my case I became aware of this behaviour because of some *.idb files used by MySql to store table data were deleted by the restore process.
With a quick search I found out that the extension list can't be edited in any way and excluding file using the registry key FilesNotToSnapshot
is not a viable solution because in this case they will be completely deleted as if they were never there.
There are however some programs that can be used to recover last version and restore it but to do this I should know that a system recovery has been performed.
Can I check if a system restore was performed, is there a registry a variable or something that I can monitor with a custom program?