While trying to install a service pack on one of my systems, I ran into a server that kept exiting setup stating it was missing files from C:\Windows\Installer. This is unfortunate as some people will actually clear out the C:\Windows\Installer directory trying to free up space. Luckily, Microsoft has a few tools for fixing this issue. You can either use the FixMissingMSI tool, or the FindSQLInstall.vbs script. I prefer the FixMissingMSI tool as sometimes getting the approval to run a .vbs script can be difficult to obtain. Both tools can be found here:
Update: Several co-workers have asked me if there is anything that is safe to remove from this directory. The answer is that it depends. If you see a ton of .tmp files and they each 133MB and there’s a hundred of them, by all means delete them. Typically .tmp files are caused by a failed download from the updates server. Remove these without a problem, then download the actual update file that is being installed and install it manually. This should clear up any issues like that.