A Brief Note on Installer GUIDs
The Installer uses GUIDs to uniquely identify applications, packages, features, etc. The ProductID is the GUID used by the Installer to distinguish one application from another.
It doesn’t matter if the package or application names for two different applications are different, if the IDs are the same, the Installer is likely to become confused and you will encounter problems with installation, repair and uninstall.
How Should an Installer GUID be Represented
The GUID data type is a text string representing a Class identifier (ID). COM must be able to convert the string to a valid Class ID. All GUIDs must be authored in uppercase.
The valid format for a GUID is {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} where X is a hex digit (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).
You can use the same ProductID when a package is a newer build of an existing one, but you need to then have different PackageIDs to distinguish the application versions. If you want the packages to be upgrades of each other, then you need them to have the same UpgradeID.
How Does a GUID Get Stored
Windows Installer GUIDS are not written in the registry as they appear in the development tools. The first 8 digits are reversed, the hyphen is dropped, the next 4 digits are reversed, the hyphen is dropped, the next 4 digits are reversed, the hyphen is dropped, the next two digits are reversed, the next two digits are reversed, the hyphen is dropped, then the next two digits are reversed, six times.
So a code such as {D0F23C3F-CA74-460F-9ADB-49CBD57F9688} becomes: F3C32F0D47ACF064A9BD94BC5DF76988







Vijay ... Nice information
Vijay ... Nice information as always :)
do you know any reason why they are reversing the digits in registry ?
Very informative
Great job Vijay
Its really nice to see someone sharing the knowledge and experience.
I really appreciate it.
-- Eshwar
Thanks..
Thanks a lot for your compliments buddies.!!!
Cheers'
Vijay
Microsoft-MVP
Hi Vijay, When looking at
Hi Vijay,
When looking at the inventory classes in Altiris Inventory Solution it generally appears that the ProductID is missing from Aex_OS_Add_Remove_Programs, even when the install is MSI based.
I assume this is because the installer hasn't been configured to dump the ProductID string in the uninstall key used for Add/Remove programs.
Do you know of a way to populate the ProductID in the registry, so that we can scavenge this data from Aex_OS_Add_Remove_Programs? I thought of a script to extract the GUID from the key name, or uninstall string if they exist, but this still won't work for many MSI applications.
Any thoughts on this one?
Kind Regards,
Ian./