Consider the Installer folder in the same light as C:\Program Files.
It would be nice if windows/Microsoft would make it easy to designate where these folders are actually located. There are some registry hacks to relocate some of these folders, such as for the Program Files location, but even Microsoft doesn't follow its own rules.
Point is, you often (usually) need the MSI file(s) used to install a product in order to patch, repair and uninstall the product. If this is missing, it is difficult to near impossible to properly maintain the product.
Often the MSI is kept in the temp folder of the user doing the install. So if one cleans up the Temp folder as they should from time to time, and sometimes must to get a program to start working properly again (WinFax Pro anyone?), or if the user and his profile is deleted, you've just rendered the product unmaintainable. This 'feature' has rendered update issues for .net and Visual C++ 2005 redistributable.
In the case of .net, you end up manually ripping it out, then reinstalling it from the beginning. Fun stuff.
In the case of C++, one can download the original pre-SP1 version, extract the files, and point the SP1 installer to the extracted MSI. You actually have to do 2 extractions, one from the downloaded file, and again from the master MSI that contains the real MSI. Again, fun stuff but immensely easier than .net fix.
So, MS now has a folder to keep many of these MSI's that you need in order to perform maintenance on your product, though many of their packages still miss the mark and store the original MSI in the temp folder, as do some third party products. MSOCache is another alternative, but still not the best naming approach, but at least it is out of the way of the root directory and out of the Temp folders. What I really get bugged about is those CSLID folders at root of drives.
So, if you need to clean up the C: drive, and you feel the best approach is to shrink down the Installer folder, relocate its contents, but be sure to have it on hand, in the event you get the message (paraphrased) "Where in the world is this MSI? I can't do a single thing without it"
Similarly but less of a problem is the $ folders at root of Windows directory. At least most of those are not likely necessary if the windows update that pertains to the particular folder has been long installed and working. Even then, best to have it on hand somewhere.
What would really be nice is if applications were made to have a manifest so that users/utilities could clean up systems and remove files/registry entries that aren't accounted for in the manifests of accounted for applications.
Now lets chat about the DLLs in system32....