Incorrect handling of the creation or maintenance of one of your company’s product installers can lead to very messy situations down the road. A variable product code attributable to a product where the code should be constant is an unfortunate reality that some may find themselves affected by, given previous ignorant usage of packaging tools. It doesn’t need much explaining: your customers’ machines will have multiple entries of the same product in both their installer cache and elsewhere, with no apparent way to remove them.
The solution devised in order to fix this must involve being able to find these hidden pieces of software and get MSIEXEC to remove them peacefully and correctly. What if the reason for your troubles is indeed a non-constant product code? Do you have all the codes written down somewhere, or memorized? Most likely, you do not; or perhaps you thought you did, but there exist various elusive versions out there that snuck by the record keeping aspect of the whole deal.
I have made a simple program I call the GUIDResolver that will resolve installed product’s product code GUID’s based on the product name and spit them or the associated uninstall string on the screen. Thus, it is an essential component in a larger scripting solution for cleaning up the mess you or some previous worker at your company has made.