Run "msiexec /regserver" from a command line, otherwise run sfc /scannow and then "msiexec /regserver". The MSI engine actually has two processes - one runs as a service, and the other runs under the user account. It's possible that one (or both) of these are no longer loading properly, or .dll's have become corrupt, or registry settings for the service are invalid, etc.
_________________________
Today is the tomorrow you worried about yesterday.