Reputation: 10679
After a msi is installed, the Windows Registry will add a key {CODE} inside HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer. I would expect that {CODE} to be the Product Code of the application being installed, but they don't match.
For example, if I install a msi package whose Product Code is {E4703DAD-63CA-4A57-B9E3-D7887318B036} I see that the key added is HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\FAD3074EAC3675A49B3E7D4837810B63
I did see that such {CODE} is constant regardless different version or package code of my application (which is why I was expecting it to be - or have some relation - to the product code).
Upvotes: 2
Views: 865
Reputation: 10679
I finally figured how that {CODE} is constructed. I see some references of it being called as a compressed GUID and it is indeed based on Product Code. That {CODE} is the Product Code "reversed".
You can easily see if you align both {CODE} and product code with the dashes
Product Code: {E4703DAF-63CA-4A57-B9E3-D7887318B036}
{CODE} with dash: FAD3074E-AC36-75A4-9B3E-7D4837810B63
The first 3 groups are basically a direct reverse (63CA -> AC36), while the last 2 groups are reversed inside a set of 2 chars basis (B9E3 -> 9B3E).
Upvotes: 2