Using Process Monitor and other tools to fix a broken installation.
Today the stars were aligned and my VMWare installation decided to stop working. It's time for an upgrade, anyways.

Oh, that makes sense. So lets uninstall the old version.

Can't install the new, can't uninstall the old. Time for some hackery!
Contents
First lets find out the name of the culprit installer with Process Explorer's find tool, then in Process Monitor lets setup a filter to this executable.

Re-running the installer lets us see what it's accessing. Using that we can find out what makes it think it's installed so we can trick it into thinking it's doing a fresh install. Once the error screen comes up, unattach the event monitor in Process Monitor (control+e).

This looks interesting. It's the registry key used by Window's Add/Remove Programs.

Lets rename it to prevent the installer from seeing it then re-run the installer. Hmm... Semi-success. The installer now gives us the same error, but in a different place, so lets re-Process Monitor the installer.

Well! This looks very interesting! Lets rename this one as well...

Hey! It's installing!
Finally, time to get back to work.

Crap!
A DLL did not get replaced during the installation and a version mis-match is causing problems (why put the version number in the filename and not update it?). After a harddrive-wide search, I found sigc-2.0.dll in C:\Program Files\VMware\VMware Workstation. Good news is the installer has all of the installation files out in the open, so no need to dump cabs or hack the msi. I replaced copy in the Program Files directory with the one from the installer's directory and...

Success!