A Brief Note on Installer GUIDs

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

Fig 1.

Click to view.

3.09091
Average: 3.1 (22 votes)

Vijay ... Nice information

faigi's picture

Vijay ... Nice information as always :)

do you know any reason why they are reversing the digits in registry ?

Very informative

eshwar's picture

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

Syndicate content